一尘不染

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

angularjs

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


阅读 239

收藏
2020-07-04

共1个答案

一尘不染

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

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

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

_invokeQueue是一个数组,如果您对每个获得[0] [2] [1]的条目执行此操作,则会在模块中看到每个提供程序的名称。

如果单独查看_invokeQueue,则会看到很多类似提供程序名称的内容,如下所示,但也提供了其类型(指令,控制器等);

但是您会觉得这是一件棘手的事情,不是一个好习惯,一个坏习惯,但仍然很有趣。

不要在生产中使用它!

2020-07-04