Я видел это в пользовательской директиве.Функция require in angularjs
require: '^create'
Я не могу этого понять. Можете ли вы объяснить мне, что нужно в angularjs?
Я видел это в пользовательской директиве.Функция require in angularjs
require: '^create'
Я не могу этого понять. Можете ли вы объяснить мне, что нужно в angularjs?
require
Если такая директива не найдена, или если директива не имеет контроллера, то возникает ошибка (если не указана никакая функция связи, и в этом случае проверка ошибок будет пропущена).
Имя может начинаться с префикса:
(без префикса) - Найдите нужный контроллер на текущий элемент. Выбросьте ошибку, если она не найдена.
? - Попытайтесь найти требуемый контроллер или передать null в ссылку fn, если не найден.
^- Найдите необходимый контроллер, выполнив поиск элемента и его родителей. Выбросьте ошибку, если она не найдена.
^^ - Найдите требуемый контроллер, выполнив поиск родителей элемента. Выбросьте ошибку, если она не найдена.
?^- Попытка найти необходимый контроллер, выполнив поиск элемента и его родителей или передав значение null в ссылку fn, если не найден.
? ^^ - Попытайтесь найти требуемый контроллер, выполнив поиск родительских элементов или передайте null в ссылку fn, если не нашли.
Требовать контроллер
Если вы хотите, чтобы один и тот же экземпляра контроллера, то вы используете require
.
require
обеспечивает наличие другой директивы, а затем включает его контроллер в качестве параметра функции связи. Поэтому, если у вас есть две директивы для одного элемента, ваша директива может требовать от наличия другой директивы и получения доступа к ее методам управления. Для этого обычно используется ngModel
.
^require
, с добавлением каретки, проверяет элементы выше директивы в дополнение к текущему элементу, чтобы попытаться найти другую директиву. Это позволяет создавать сложные компоненты, где «подкомпоненты» могут прекрасно взаимодействовать с родительским компонентом через свой контроллер. Примеры могут включать вкладки, где каждая панель может связываться с общими вкладками для обработки переключения; набор аккордеона может гарантировать, что только один открыт одновременно; и т. д.
В любом случае вам нужно использовать две директивы вместе, чтобы это работало. require
- способ связи между компонентами.
Проверьте страницу Руководство директив для получения дополнительной информации http://docs.angularjs.org/guide/directive
Пожалуйста, прочитайте документацию https://docs.angularjs.org/api/ng/service/$compile – Girafa
см http://stackoverflow.com/вопросы/15672709/как-на-требовать-а-контроллер-в-ан-angularjs директивы –