angularJS: поставщик приложения A недоступен в конфигурации приложения B; приложение B является основным приложением, прикрепленным к DOM

0

У меня есть Провайдер, определенный в угловом модуле, скажем A, и я пытаюсь использовать его в конфиге другого углового модуля say B, как показано в следующем фрагменте кода:

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 выглядит следующим образом:

//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);

Теперь я получаю ошибку как:

angular.js:68 Uncaught Error: [$injector:modulerr] Failed to instantiate module ngApp due to:Error: [$injector:unpr] Unknown provider: RouteProvider

Может кто-то, пожалуйста, помогите мне взломать это? Спасибо.

  • 0
    Можете ли вы показать свой html код?
  • 0
    Давайте просто скажем, что это не более чем <div ng-app="B" ng-controller="bCtrl"></div>
Показать ещё 1 комментарий
Теги:
angularjs-injector
angularjs-module
angularjs-provider

1 ответ

0

По-видимому, myProvider должен быть myProviderProvider как myProviderProvider в config. его о назначении провайдера. И тогда вы можете использовать myProvider в качестве зависимости от любого другого сервиса/фабрики, и здесь экземпляр, возвращаемый методом $get myProvider (любой поставщик, если на то пошло), станет доступным для использования в зависимой службе/фабрике.

Если не так ясно, кто-то, кто понял, может разработать ответ. Я отвечу на лучший ответ. Спасибо.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню