Spec-Zone.ru › Angular.js 1.5

Улучшить эту документацию Просмотреть исходный код ngApp

  1. директива в модуле ng

Используйте эту директиву для автоматической инициализации приложения AngularJS. Директива ngApp обозначает корневой элемент приложения и обычно размещается рядом с корневым элементом страницы — например, на тегах <body> или <html>.

При использовании ngApp следует учитывать несколько моментов:

  • в одном документе HTML может быть только одно приложение AngularJS, инициированное автоматически. Первая директива ngApp в документе будет использована для определения корневого элемента, который будет инициирован как приложение. Чтобы запустить несколько приложений в одном документе HTML, необходимо инициализировать их вручную, используя angular.bootstrap.
  • приложения AngularJS не могут быть вложены друг в друга.
  • Не используйте директиву, использующую трансклюзию, на том же элементе, что и ngApp. Это относится к таким директивам, как ngIf, ngInclude и ngView. В таком случае неправильно устанавливается элемент приложения $rootElement и инжектор приложения, что приводит к остановке работы анимаций и невозможности доступа к инжектору извне приложения.

Можно указать модуль AngularJS, который будет использоваться в качестве корневого модуля приложения. Этот модуль будет загружен в $injector при инициализации приложения. Он должен содержать необходимый код приложения или зависеть от других модулей, содержащих этот код. См. angular.module для получения дополнительной информации.

В примере ниже, если директива ngApp не была размещена на элементе html, документ не был бы скомпилирован, AppController не был бы создан, а {{ a+b }} не был бы разрешен в 3.

ngApp является наиболее простым и распространённым способом инициализации приложения.

Используя ngStrictDi, вы увидите что-то вроде этого:

Справочная информация о директиве

  • Эта директива выполняется на приоритете 0.

Использование

  • в качестве элемента: (Эта директива может быть использована как пользовательский элемент, но следует учитывать ограничения в IE).
    <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». Это означает, что приложение не сможет вызывать функции, не использующие явное аннотирование функций (и, следовательно, непригодные для минификации), как описано в руководстве по инъекции зависимостей, и полезная отладочная информация поможет отследить причину этих ошибок.

© 2010–2017 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://code.angularjs.org/1.5.11/docs/api/ng/directive/ngApp

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API