2015-05-15 2 views
1

установки:Как получить список зависимых модулей внутри некоторого родительского модуля?

Несколько angularjs модулей объявлены:

angular.module('a', ['a.b']); 

angular.module('a.b', ['a.b.c1', 'a.b.c2']); 

angular.module('a.b.c1', []); 

angular.module('a.b.c2', []); 

Вопрос:

Есть ли способ, чтобы получить все дети модули из определенного родительского модуля? Я имею в виду что-то вроде:

angular.module.getChildrenFromParent('a.b'); 

Это возвращает массив строк или массив ссылок на модули a.b.c1 и a.b.c2.

Благодаря

UPDATE

Я знаю, что есть How can I get a list of available modules in AngularJS?, но это не чистое решение, и это немного старого ответа тоже.

ответ

2

Вы можете использовать свойство объекта requires возвращаемого объекта модуля (по angular.module getter invocation), чтобы получить список зависимостей.

т.е.

var dependentModules = angular.module('a.b').requires; 

Это будет выводить массив строк, представляющих зависимости ["a.b.c1", "a.b.c2"]. Но учтите, что вы можете использовать его только после того, как был создан модуль, иначе его использование для модуля, который не был создан, приведет к ошибке. И если вы хотите глубже внедрить рекурсивный поиск для каждой зависимости.

Demo

angular.module('a.b.c1', []); 
 

 
angular.module('a.b.c2', []); 
 
angular.module('a.b', ['a.b.c1', 'a.b.c2']); 
 

 
angular.module('a', ['a.b']); 
 

 
console.log(angular.module('a.b').requires);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

+0

Спасибо! Я пропустил это из документации :( – diosney

+0

@diosney, чтобы быть откровенным, я этого не видел в документации, я никогда не узнал эту доступность свойств в объекте модуля, пока не попытаюсь ответить на ваш вопрос. :) – PSL

+0

Хорошо, мне интересно, слишком ленив или не замечал этого;) – diosney

Смежные вопросы