获取angularjs中的模块名称及其所有依赖项列表

时间:2016-11-25 06:12:43

标签: javascript angularjs

我想在module name中获得all dependencies listinjected application module

喜欢:

var app = angular.module( 'wp', ['ngRoute', 'abc', 'xyz'] );

因此,我希望获得所有这些组件列表,如wp,ngRoute,abc,xyz

使用Angular JS.

由于

1 个答案:

答案 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;