在AngularJS模块中列出声明的指令/控制器

时间:2013-09-24 16:16:54

标签: javascript angularjs

有没有办法列出为给定角度模块定义的所有指令和控制器?例如,假设我在'main'模块中定义了三个控制器(即angular.module('main')。controller('MainCtrl',function(){...})。是否有办法获取列表那三个控制器?

1 个答案:

答案 0 :(得分:27)

嗯真的很难,我认为不是一件好事,但是:

var app = angular.module('MyApp', []);

console.log(app._invokeQueue[0][2][1]);

_invokeQueue是一个数组,如果你为每个条目获取[0] [2] [1],你会看到你模块中每个提供者的名字。

如果你单独使用_invokeQueue,你会看到许多你喜欢的提供者名字,如下面的那些,但他的类型也是如此(指令,控制器......);

但是你觉得这是一个棘手的事情并不是一件好事,一个非常糟糕的做法,但无论如何真的很有趣。

不要在生产中使用它!