AngularJs – 获取所有注册模块的列表

我可以在运行时获得所有注册模块的列表吗?

例如:

// Some code somewhere in some .js file
var module1 = angular.module('module1',[]);

// Some code in some other .js file
var module2 = angular.module('module2',[]);

// Main .js file
var arrayWithNamesOfAllRegisteredModules = .....

// (result would be: ['module1','module2'])
Angular不提供一种方法来检索注册模块的列表(至少我不能在源代码中找到一种方法)。然而,你可以装饰angular.module方法来存储名称在数组。这样的东西:
(function(orig) {
    angular.modules = [];
    angular.module = function() {
        if (arguments.length > 1) {
            angular.modules.push(arguments[0]);
        }
        return orig.apply(null,arguments);
    }
})(angular.module);

现在你可以检查angular.modules数组。

演示:http://plnkr.co/edit/bNUP39cbFqNLbXyRqMex?p=preview

相关文章

ANGULAR.JS:NG-SELECTANDNG-OPTIONSPS:其实看英文文档比看中...
AngularJS中使用Chart.js制折线图与饼图实例  Chart.js 是...
IE浏览器兼容性后续前言 继续尝试解决IE浏览器兼容性问题,...
Angular实现下拉菜单多选写这篇文章时,引用文章地址如下:h...
在AngularJS应用中集成科大讯飞语音输入功能前言 根据项目...
Angular数据更新不及时问题探讨前言 在修复控制角标正确变...