我想在module name
中获得all dependencies list
和injected
application module
。
喜欢:
var app = angular.module( 'wp', ['ngRoute', 'abc', 'xyz'] );
因此,我希望获得所有这些组件列表,如wp,ngRoute,abc,xyz
使用Angular JS.
由于
答案 0 :(得分:3)
在角度js中,您可以使用 requires
数组来获取主模块的所有依赖模块。
模块声明的语法:
angular.module(name, [requires], [configFn]);
第二个参数,名为requires的数组中的依赖项。
因此,app.requires会为您提供所需的结果。
以下是一个例子:
var app = angular.module('App', [
'ngRoute',
'appServices',
'toaster',
'ngValidate',
'uiGmapgoogle-maps',
'ngFileUpload',
'offClick'
]);
<强> console.log(app.requires);
强>
给你,
Array[8]
[
"ngRoute",
"appServices",
"toaster",
"ngValidate",
"uiGmapgoogle-maps",
"ngSanitize",
"ngFileUpload",
"offClick"
]
更新:
1)如果您的模块没有变量,可以使用,
<强> angular.module('App').requires
强>
2)如果您根本不知道模块名称,那么您可以使用,
<强> angular.module($rootElement.attr('ng-app')).requires;
强>
为此你应该添加$rootElement
作为依赖
例如:
.run(["$rootScope","$rootElement",function($rootScope,$rootElement){
console.log(angular.module('App').requires);
console.log(angular.module($rootElement.attr('ng-app')).requires);
}]);
3)即使您没有代码,也可以尝试,
$("[ng-app]").attr('ng-app')
如果你有jquery来获取模块名称。
<强> angular.module($("[ng-app]").attr('ng-app')).requires;
强>