Можно ли поместить всю форму в ОДНУ директиву AngularJs?

Зак

Я видел много примеров людей, использующих комбинацию HTML и директив для создания формы AngularJS (как здесь) , но я пытаюсь создать автономный виджет, который имеет весь HTML для формы в поле templateURL директивы. , поэтому я могу просто вставить эту однострочную директиву в любой другой HTML-файл и получить форму. Какие-либо предложения?

Грегори

Вот plnkr с примерами директив, которые в качестве примера приводят форму и кнопку обновления / обратного вызова.

Я определяю свою директиву так: Я использовал шаблон, когда форма простая:

angular.module('components', [])
  .directive('myForm', function() {
    return {
      restrict: 'E',
      template: `<form novalidate class="simple-form">
    Name: <input type="text" ng-model="user.name" /><br />
    E-mail: <input type="email" ng-model="user.email" /><br />
    <input type="submit" ng-click="update(user)" value="Save" />
  </form>`,
      link: function(scope, element, attr) {
        scope.update = function(user) {
          console.log('update ' + JSON.stringify(user));
        }
      }

    }
  });

Итак, директива приносит форму, и я определил функцию «update», которую я вызываю на кнопке отправки. Функция отображает сообщение в консоли ... например:

update {"name":"john doe","email":"[email protected]"}

В остальном в приложении ничего нет:

angular.module('HelloApp', ['components'])
  .controller('MyCtrl', ['$scope', function($scope) {
    $scope.name = 'This is the controller';
  }]);

А HTML выглядит так:

<body>
  <div ng-controller="MyCtrl">
    <my-form></my-form>
  </div>
</body>

Если вы хотите использовать вместо этого templateUrl, у меня есть другая директива, определенная следующим образом:

  .directive('myFormExternal', function() {
    return {
      restrict: 'E',
      templateUrl: 'myFormExternal.html',
      link: function(scope, element, attr) {
        scope.updateExternal = function(user) {
          console.log('External Form: ' + JSON.stringify(user));
        }
      }

    }
  });

И форма html:

<form novalidate class="simple-form">
    Firstname: <input type="text" ng-model="external.firstname" /><br />
    Lastname: <input type="text" ng-model="external.lastname" /><br />
    <input type="submit" ng-click="updateExternal(external)" value="Save" />
  </form>

Надеюсь это поможет. Дайте нам знать.

Эта статья взята из Интернета, укажите источник при перепечатке.

Если есть какие-либо нарушения, пожалуйста, свяжитесь с[email protected] Удалить.

Отредактировано в
0

я говорю два предложения

0обзор
Войти в системуУчаствуйте в комментариях

Статьи по теме

Формат входного значения в Angularjs

Отключить кнопку отправки, если форма недействительна с AngularJS

AngularJS как добавить дни / месяцы / годы к дате

AngularJS фильтр с несколькими параметрами

Ошибка: не удалось найти хромированный драйвер, следуя официальному руководству angularjs

Должны ли веб-сервисы AngularJS возвращать полную копию ответа?

Как исключить объект из массива в фильтре AngularJS?

AngularJS: Каким образом контроллеры и фабрики / службы должны быть структурированы с помощью богатой иерархической объектной модели?

Простой холст в директиве angularjs

Как показать нижний колонтитул столбца в сгруппированной сетке в пользовательской сетке AngularJS?

AngularJS Печать Да или Нет на основе логического значения

сортировка массива в angularjs

angularJS $ изменение области не обновляет представление

Загрузите файл с сервера и укажите имя файла в angularjs

AngularJS: тайм-аут не работает

AngularJS: получить свойство объекта в массиве, сопоставив другое свойство?

AngularJS - модель данных не привязывается в раскрывающемся списке

Транспортир: фиктивный атрибут angularjs

Таблица сортировки AngularJs для уже вставленных данных

Модель AngularJS не загружает данные в представление

AngularJS - страница загружается до инициализации переменной области видимости

Повторитель фильтра AngularJS с несколькими значениями

Показать и скрыть контроллер не работает, AngularJS

Привязка / моделирование к определенному символу в строке в AngularJS

Маршрутизация не работает в AngularJS

доступ к значению текстового поля angularjs в контроллере

"текущий запрос не является составным" angularjs и весенняя загрузка

Привязка AngularJS не обновляет модель

Angularjs манипулирует каждым из повторяющихся элементов

TOP список

  1. 1

    Распределение Рэлея Curve_fit на Python

  2. 2

    Резервное копирование / восстановление kafka и zookeeper

  3. 3

    Редактировать существующий файл Excel C # npoi

  4. 4

    Ipython использует% store magic для получения динамического имени

  5. 5

    Как получить список индексов всех значений NaN в массиве numpy?

  6. 6

    Почему бы не выдать ошибку ERROR в тесте Jasmine?

  7. 7

    Дженерики и потоки Java

  8. 8

    Как отфильтровать несколько столбцов в Qtableview?

  9. 9

    Как добавить Swagger в веб-API с поддержкой OData, работающий на ASP.NET Core 3.1

  10. 10

    Как изменить значок приложения для проекта libgdx android

  11. 11

    Thymeleaf не отображает значения в проекте Spring Boot

  12. 12

    Unity Проверить, включен ли Toggle

  13. 13

    Airflow не распознает мои настройки подключения S3

  14. 14

    Flutter: Unhandled Exception: FileSystemException: Creation failed, path = 'Directory: '' (OS Error: Read-only file system, errno = 30)

  15. 15

    Bogue étrange datetime.utcnow()

  16. 16

    На графике Matplotlib не отображается легенда

  17. 17

    Создание X509Certificate2 из ECC X509Certificate выдает исключение System.NotSupportedException в C #

  18. 18

    Как добавить фреймворк в файл в папке «Источники» Xcode Playground?

  19. 19

    Выполнение команд PowerShell в программе Java

  20. 20

    Статус HTTP 403 - ожидаемый токен CSRF не найден

  21. 21

    Инструмент для вставки данных, собранных в электронной таблице, в документ Word или PDF

популярныйтег

файл