首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >angularJS:应用程序A的提供者在应用程序B的配置中不可用;应用程序B是附加到DOM的主要应用程序

angularJS:应用程序A的提供者在应用程序B的配置中不可用;应用程序B是附加到DOM的主要应用程序
EN

Stack Overflow用户
提问于 2016-06-05 03:30:43
回答 1查看 40关注 0票数 0

我在一个angular模块中定义了一个提供者A,我正在尝试在另一个angular模块B的配置中使用它,如以下代码片段所示:

代码语言:javascript
复制
var A = (function(ng){
'use strict';

var a = ng.module('A',[]);

a.provider('MyProvider', function(){
    this.$get = ['$q', function($q){
        return new myService($q);
    }]
});

function myService($q){
    var data = // Some data
    this.getAllData = function(){
        return $q(function(resolve,reject){
            resolve(data)
        });
    }
}

//ng.bootstrap(a);

return a;
})(angular);

应用程序B如下所示:

代码语言:javascript
复制
//IIFE pattern for modularization

var B = (function(angular) {
    'use strict';


// initialize the Angular app
var b = angular.module('B', ['ui.router', 'A']);

b.config(config);

function config($stateProvider, $urlRouterProvider, myProvider){
    myProvider.getAlldata().then(function(data){
        //do some processing on data related to routes...
    }, function(err){
        //handle Err
    }); 
}


return b;
})(angular);

现在我得到的错误是:

代码语言:javascript
复制
angular.js:68 Uncaught Error: [$injector:modulerr] Failed to instantiate module ngApp due to:Error: [$injector:unpr] Unknown provider: RouteProvider

有人能帮我破解这个吗?谢谢。

EN

回答 1

Stack Overflow用户

发布于 2016-06-05 04:20:06

显然,应该在config函数中将myProvider引用为myProviderProvider。这是关于命名提供者的。然后,您可以使用myProvider作为对任何其他服务/工厂的依赖,在这里,在myProvider$get方法中返回的实例(任何提供程序)将可用于依赖的服务/工厂。

如果不是那么清楚,理解的人可以开发出答案。我会标出最好的作为答案。谢谢。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37634222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档