Улучшить эту документацию Просмотреть исходный код ngApp
- директива в модуле ng
Обзор
Используйте эту директиву для автоматической инициализации приложения AngularJS. Директива ngApp обозначает корневой элемент приложения и обычно размещается рядом с корневым элементом страницы — например, на тегах <body> или <html>.
Несколько важных моментов при использовании ngApp:
- только одно приложение AngularJS может быть автоматически инициализировано на одну HTML-страницу. Первая директива
ngAppв документе будет использована для определения корневого элемента, который будет инициализирован как приложение. Чтобы запустить несколько приложений на одной HTML-странице, необходимо вручную инициализировать их с помощьюangular.bootstrap. - Приложения AngularJS не могут быть вложены друг в друга.
- Не используйте директиву, использующую трансляцию, на том же элементе, что и
ngApp. Это относится к таким директивам, какngIf,ngIncludeиngView. Это может привести к неправильному расположению$rootElementприложения и инжектора приложения, что приведет к остановке анимаций и невозможности доступа к инжектору извне приложения.
Можно указать модуль AngularJS, который будет использоваться в качестве корневого модуля приложения. Этот модуль будет загружен в $injector при инициализации приложения. Он должен содержать необходимый код приложения или иметь зависимости от других модулей, которые будут содержать код. Подробнее см. angular.module.
В примере ниже, если директива ngApp не была размещена на элементе html, документ не был бы скомпилирован, экземпляр AppController не был бы создан, а {{ a+b }} не был бы разрешён в 3.
Информация о директиве
- Эта директива выполняется на уровне приоритета 0.
Использование
- как элемент:
<ng-app ng-app="angular.Module" [ng-strict-di="boolean"]> ... </ng-app>
- как атрибут:
<ANY ng-app="angular.Module" [ng-strict-di="boolean"]> ... </ANY>
Аргументы
| Параметр | Тип | Подробности |
|---|---|---|
| ngApp | angular.Module | необязательное имя модуля приложения модуль для загрузки. |
| ngStrictDi (необязательно) | boolean | если этот атрибут присутствует на элементе приложения, инжектор будет создан в режиме "strict-di". Это означает, что приложение не сможет вызвать функции, которые не используют явное аннотирование функций (и поэтому не подходят для минификации), как описано в руководстве по инжекции зависимостей, и полезная информация для отладки поможет отследить причину этих ошибок. |
Примеры
Простой пример
ngApp — самый простой и распространенный способ инициализации приложения.
С ngStrictDi
Используя ngStrictDi, вы увидите что-то вроде этого:
© 2010–2018 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://code.angularjs.org/1.7.8/docs/api/ng/directive/ngApp