列表依赖注入

有没有办法知道什么依赖被注入到我的Angular模块中?

angular.module('myModule', [
  'ui.bootstrap'
])
.controller('myController', [function () {
  // var dependencies = Magic.dependencies;
  // console.log(dependencies);
}]);

在你的控制器中,如果你注入$window ,你可以挖掘依赖关系,具体来说,你的模块中存在一个.requires 。 要做到这一点,你可以宣布你的模块作为一个全球性的var ,所以我们可以找到我们的$window ,在这种情况下,我们称之为app -或-你可以绕过全局和$window ,并调用angular.module('myModule').requires 。直接需要。

  • 我还添加了ngRoute以证明将被发现的依赖关系数组。

  • var app = angular.module('myModule',
    [
        'ui.bootstrap',
        'ngRoute'
    ]).controller('ctrl', ['$scope', '$window', function($scope, $window) {
        console.log($window.app.requires) // ["ui.bootstrap", "ngRoute"]
        console.log(angular.module('myModule').requires) // without global - $window not needed
    }]);
    

    JSFiddle Link - 工作示例


    注 - 如果利用全局变量,您可以简单地调用windowwindow.app.requires - 不注入$window 。 不过,请参阅AngularJS $窗口文档来理解为什么$window是首选。


    建立在@ salniro的答案上,你不需要全局变量或$window

    的依赖列在.requires财产angular.Module

    angular.module('myModule', [
        'ui.bootstrap',
        'ngRoute'
    ])
    .controller('ctrl', function() {
        var app = angular.module('myModule');
        console.log(app.requires); // ["ui.bootstrap", "ngRoute"]
    });
    

    http://jsfiddle.net/8vtf6gar/1/

    链接地址: http://www.djcxy.com/p/27017.html

    上一篇: List dependencies injected

    下一篇: Starting bottle web server through systemd?