Spec-Zone.ru › Angular.js 1.8

Улучшить эту документацию Просмотреть исходный код 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.

Информация о директиве

  • Эта директива выполняется на уровне приоритета 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

если этот атрибут присутствует в элементе приложения, инжектор будет создан в режиме "строгий DI". Это означает, что приложение не сможет вызывать функции, которые не используют явную аннотацию функции (и поэтому не подходят для минификации), как описано в руководстве по инъекции зависимостей, а полезная информация об отладке поможет в поиске корневой причины этих ошибок.

Примеры

Простое использование

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

С ngStrictDi

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

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

Spec-Zone.ru

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