列出注入的依赖项
List dependencies injected
有没有办法知道我的 Angular 模块中注入了哪些依赖项?
angular.module('myModule', [
'ui.bootstrap'
])
.controller('myController', [function () {
// var dependencies = Magic.dependencies;
// console.log(dependencies);
}]);
在你的控制器中,如果你注入$window
,你可以挖掘依赖关系,具体来说,你的模块上存在一个.requires
。为此,您可以将 module 声明为全局 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 - 工作示例
注意 - 如果利用全局变量,您可以简单地调用 window
:window.app.requires
- 无需注入 $window
。但是,请参阅 AngularJS $window docs 以了解为什么首选 $window
。
基于 ,您不需要全局变量或 $window
。
依赖项列在 angular.Module
的 .requires
属性:
angular.module('myModule', [
'ui.bootstrap',
'ngRoute'
])
.controller('ctrl', function() {
var app = angular.module('myModule');
console.log(app.requires); // ["ui.bootstrap", "ngRoute"]
});
有没有办法知道我的 Angular 模块中注入了哪些依赖项?
angular.module('myModule', [
'ui.bootstrap'
])
.controller('myController', [function () {
// var dependencies = Magic.dependencies;
// console.log(dependencies);
}]);
在你的控制器中,如果你注入$window
,你可以挖掘依赖关系,具体来说,你的模块上存在一个.requires
。为此,您可以将 module 声明为全局 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 - 工作示例
注意 - 如果利用全局变量,您可以简单地调用 window
:window.app.requires
- 无需注入 $window
。但是,请参阅 AngularJS $window docs 以了解为什么首选 $window
。
基于 $window
。
依赖项列在 angular.Module
的 .requires
属性:
angular.module('myModule', [
'ui.bootstrap',
'ngRoute'
])
.controller('ctrl', function() {
var app = angular.module('myModule');
console.log(app.requires); // ["ui.bootstrap", "ngRoute"]
});