Spec-Zone.ru › Angular.js 1.7

Улучшить эту документацию Просмотреть исходный код 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, обернутые в myWrapper, присваиваются контексту myRoot, потому что свойство toggles было инициализировано. Повторные компоненты myToggle публикуются в дочерних контекстах, созданных ngRepeat. ngIf ведет себя аналогично - присвоение myToggle происходит в дочернем контексте ngIf, потому что целевое свойство не было инициализировано в контроллере компонента myRoot.

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

Spec-Zone.ru

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