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

List declared directives/controllers in AngularJS module

本文关键字:指令 控制器 声明 AngularJS 模块 列出      更新时间:2023-09-26

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

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

var app = angular.module('MyApp', []);
console.log(app._invokeQueue[0][2][1]);

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

如果您单独查看_invokeQueue,您将看到很多您会喜欢提供者名称的东西,如下所示,但他的类型也是如此(指令、控制器......

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

不要在生产中使用它!