Spec-Zone.ru › Angular.js 1.8

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

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

Обзор

Атрибут ngRef сообщает AngularJS о привязке контроллера компонента (или директивы) к заданному свойству текущего контекста. Также возможно добавить обернутый jqlite элемент DOM в контекст.

Если элемент с ngRef уничтожен null присваивается свойству.

Обратите внимание, что если вы хотите присвоить значение из дочернего контекста в родительский, необходимо инициализировать целевое свойство в родительском контексте, иначе ngRef будет присвоено в дочернем контексте. Это часто происходит при присваивании элементов или компонентов, обернутых в ngIf или ngRepeat. См. второй пример ниже.

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

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

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

  • в качестве атрибута:
    <ANY
      ng-ref="string"
      [ng-ref-read="string"]>
    ...
    </ANY>

Аргументы

Параметр Тип Подробности
ngRef string

имя свойства - допустимый идентификатор выражения AngularJS, к которому будет привязан контроллер или обернутый jqlite-элемент DOM.

ngRefRead
(необязательно)
string

значение для чтения - имя директивы (или компонента) на этом элементе или специальная строка $element. Если указано имя, ngRef присвоит соответствующий контроллер. Если указано $element, сам элемент будет присвоен (даже если доступен контроллер).

Примеры

Простой переключатель

В этом примере показано, как контроллер компонента переключателя повторно используется в шаблоне через область видимости для использования его логики.

ngRef внутри областей видимости

В этом примере показано, как ngRef работает с дочерними областями видимости. Компоненты ngRepeat-ed myWrapper присваиваются области видимости myRoot, потому что свойство toggles было инициализировано. Повторные компоненты myToggle публикуются в дочерние области видимости, созданные ngRepeat. ngIf ведет себя аналогично - присвоение myToggle происходит в дочерней области видимости ngIf, потому что целевое свойство не было инициализировано в контроллере компонента myRoot.

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

Spec-Zone.ru

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