如何获取某些父模块中的依赖模块列表?

时间:2015-05-15 20:00:00

标签: javascript angularjs list module

设定:

几个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.c1a.b.c2的引用。

由于

更新

我知道有How can I get a list of available modules in AngularJS?但它不是一个干净的解决方案,它也是一个旧答案。

1 个答案:

答案 0 :(得分:2)

您可以使用返回的模块对象的requires属性(通过angular.module getter调用)来获取依赖项列表。

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

这将输出表示依赖项["a.b.c1", "a.b.c2"]的字符串数组。但请注意,只有在创建模块后才能使用它,否则为尚未创建的模块调用此项将导致错误。如果你想深入实现每个依赖项的递归查找。

<强>演示

&#13;
&#13;
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;
&#13;
&#13;