Улучшить эту документацию Просмотреть исходный код ngRef
- Директива в модуле 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 | значение для чтения - имя директивы (или компонента) на этом элементе или специальная строка |
Примеры
Простой переключатель
Этот пример демонстрирует, как контроллер компонента переключателя повторно используется в шаблоне через контекст для использования его логики.
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