angularjs – 如何注入模块并使其可以访问app的所有模块和子模块(获取未知的提供程序错误)

前端之家收集整理的这篇文章主要介绍了angularjs – 如何注入模块并使其可以访问app的所有模块和子模块(获取未知的提供程序错误)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
请注意,这不是重复的: How to inject module and make it accesible to entrie angular app @H_301_7@

@H_301_7@我有一个模块(app.config),我想注入我的整个应用程序.

@H_301_7@该模块需要在注入myApp的所有其他模块和子模块(模块内的模块)中可访问

@H_301_7@例如,我的应用程序如下所示:

@H_301_7@

angular.module('myApp',[
    'app.config','module#1','module#2','module#3','module#4'    
])
.config...
@H_301_7@/////////////////////////////////

@H_301_7@这是app.config

@H_301_7@

angular.module('app.config',[]).
    constant('NAME1','Name1').
    constant('NAME2','Name2'); 
////////////////////
@H_301_7@我希望’app.config’以这样的方式注入,它应该可以在模块#500中访问,它不是’myApp’的直接依赖,而是模块#1的依赖 – 反过来,它是myApp的依赖.

@H_301_7@模块#1定义如此(如图所示,模块#500是模块#1的依赖性):

@H_301_7@

angular.module('module#1',[
        'module#500','module#501','module#502',...    
    ]);
@H_301_7@这是我的问题:

@H_301_7@

angular.module('module#500',[]).
    service('serviceOne',serviceOne);

function ServiceOne($http,NAME1) {

    var service = {
        getMyProfile: function(){return $http.get('api/' + NAME1);}
    };

    return service;
}
@H_301_7@问题 – 我收到错误 – >未捕获错误:[$injector:unpr]未知提供者:NAME1Provider< -NAME1< - serviceOne但我想我将它注入整个应用程序??? 我不想直接将模块#500添加为’myApp’的依赖项.我不想将模块#500作为模块#1的依赖项.我希望将模块#1作为myApp的依赖项 我不想单独将app.config注入每个模块.还有其他方法吗?

解决方法

如果您不想让myApp依赖于app.config(尽管它是正确的,因为它的子模块依赖于它),您可以使用手动引导加载配置模块 @H_301_7@

@H_301_7@

angular.bootstrap(document,['myApp','app.config']);
@H_301_7@而不是ng-app =“myApp”.

猜你在找的Angularjs相关文章