Я пишу веб-приложение со многими настраиваемыми директивами. Есть ли способ просмотреть все директивы, которые были зарегистрированы для каждого модуля?Список зарегистрированных пользовательских директив в AngularJS
ответ
Модули имеют _invokeQueue, который содержит содержимое модуля. Функция, как это:
function Directives(module) {
var directives = [];
var invokes = angular.module(module)._invokeQueue;
for (var i in invokes) {
if (invokes[i][1] === "directive") directives.push(invokes[i][2]);
}
return directives;
}
будет проходить через модуль и захватить каждый элемент в очереди Invoke, которые помечены как директивы.
Адрес fiddle, где вы можете поиграть с ним.
EDIT: Я сделал это несколько более общим, так как я не уверен, в каком случае вы хотели.
Поскольку модули могут включать в себя другие модули, это позволит вам рекурсивно собирать директивы, которые находятся в подблоках. http://jsfiddle.net/V7BUw/2/.
Основное различие заключается вам нужно повторить для каждого модуля в массиве требует, а также:
for (var j in module.requires) {
Directives(module.requires[j], directives);
}
Надеется, что это помогает!
Спасибо за это. Хотя кажется, что он предназначен для частных, интересно, что элементами массива '_invokeQueue' являются массивы. Вы просто волшебно должны знать, что второе поле - это тип объекта. Не знаете, почему они не использовали простой объект с ключами для объяснения этих загадочных полей. – jelinson
Кроме того, просто небольшой комментарий о вашей скрипке - я думаю, что вывод HTML лучше работать с консольными журналами, так как скрипта имеет выделенную панель результатов. – jelinson
- 1. angularjs пользовательских директив изменить значение
- 2. AngularJS пользовательских директив сферы не отражающая
- 3. AngularJS вложенной конфигурации для пользовательских директив
- 4. Как получить список зарегистрированных пользовательских элементов
- 5. Список объявленных директив/контроллеров в модуле AngularJS
- 6. Использование угловых пользовательских директив
- 7. как узнать, когда отсутствует атрибут пользовательских директив в AngularJS
- 8. Использование директив в AngularJS
- 9. Несколько директив в AngularJS
- 10. Множество динамических директив AngularJS
- 11. Использование пользовательских директив AngularJS и маршрутизации с помощью маршрутизации ExpressJS
- 12. Задачи отдельных директив angularjs
- 13. директив перепутались моделирование, AngularJS
- 14. Пользовательских директив для заполнения динамического выберите AngularJS окна
- 15. AngularJS пользовательских директив с входным элементом, проходит валидатор снаружи
- 16. получить атрибут объекта без использования изолированной сферы angularjs пользовательских директив
- 17. AngularJS: Вызов пользовательских директив из пользовательской директивы не работает
- 18. отладка угловых пользовательских директив JS
- 19. Понимание пользовательских директив и ngModelController
- 20. Выделение директив с AngularJS
- 21. Публичный каталог директив angularjs
- 22. Получение директив AngularJS
- 23. Связь в пользовательских директив в угловом
- 24. AngularJS: Не удалось получить значение из атрибута пользовательских директивы для разбора в пользовательских директив
- 25. Получить список зарегистрированных пользователей
- 26. Извлечь список зарегистрированных маршрутов
- 27. Список расширений, зарегистрированных приложением
- 28. Список URI, зарегистрированных FakeWeb
- 29. Список зарегистрированных пользователей MySQL
- 30. Список директив вида бритвы
Возможный дубликат [Список объявленных директив/контроллеров в модуле AngularJS] (http://stackoverflow.com/questions/18986870/list-declared-directives-controllers-in-angularjs-module) –