设定:
几个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
的引用。
由于
更新
我知道有How can I get a list of available modules in AngularJS?但它不是一个干净的解决方案,它也是一个旧答案。
答案 0 :(得分:2)
您可以使用返回的模块对象的requires
属性(通过angular.module
getter调用)来获取依赖项列表。
即
var dependentModules = angular.module('a.b').requires;
这将输出表示依赖项["a.b.c1", "a.b.c2"]
的字符串数组。但请注意,只有在创建模块后才能使用它,否则为尚未创建的模块调用此项将导致错误。如果你想深入实现每个依赖项的递归查找。
<强>演示强>
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);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
&#13;