获取所有Angular控制器

时间:2016-08-23 14:12:06

标签: javascript angularjs controller

是否可以获取我已定义的所有Angular控制器的列表?基本上我希望能够确定哪些files我需要导入(我写的)取决于使用哪些。我能想到的唯一方法是遍历HTML并找到与ng-controller相关的所有值,但我想知道是否有更清晰,更健壮的方式。

3 个答案:

答案 0 :(得分:2)

尝试使用final DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyyMM'xx'"); System.out.println(dateTimeFormatter.parse("201501xx", YearMonth::from)); 这可能是您正在寻找的内容:

_invokeQueue
  

_invokeQueue将填充添加到的每个服务   模块使用熟悉的angular.module(' myModule')。控制器,   angular.module(' myModule')。指令等。调用。中的每个项目   queue是一个包含三个元素的数组。第一个是提供者   将调用该服务,第二个是提供者的方法   use和第三个元素是传递给它的任何参数的数组   服务。

Reference

答案 1 :(得分:1)

您可以使用模块的_invokeQueue属性执行此操作,如this example

中所示
var appModule = angular.module('plunker',[]);

angular.module('plunker').controller('TestCtrl', function(){});
angular.module('plunker').controller('TestCtrl2', function(){});
angular.module('plunker').controller('MainCtrl', function($scope) {
    $scope.controllers = appModule._invokeQueue.filter(function(el){
      return el[0] === "$controllerProvider";
    }).map(function(el){
      return el[2]["0"];
    });
});

答案 2 :(得分:1)

  

在任何现有的控制器中,复制并粘贴以下代码即可   列出你所有的控制器。

注意:请使用' app'。

更改您的应用程序变量
serializer.Populate()