0

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

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

Теперь я получаю ERR как:

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

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

+0

Можете ли вы показать свой код 'html'? – Chinni

+0

позволяет просто сказать его не более, чем '

' –

+0

Мне в основном хотелось, как вы заказали свои файлы, которые вы включили. – Chinni

ответ

0

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

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