2016-11-27 5 views
1

2つのサービスを持つモジュール 'moduleA'と、もう1つのサービス(serviceA)に依存するモジュール(serviceB)があります。私は異なるモジュール 'foo'に属するコントローラにserviceBを注入しようとしていますが、不明なプロバイダエラーがあります。以下は、私のコードは次のとおりです。複数のサービスモジュールをコントローラに挿入するとUnknown Provider Errorが発生する

module.js

angular.module('moduleA', []); 

工場-a.js

angular 
.module('moduleA') 
.factory('factoryA', factoryA); 

factoryA.$inject = ['$q', '$log', '$timeout']; 

function factoryA($q, $log, $timeout) { 
//Do Stuff 
} 

工場-b.js

angular 
.module('moduleA') 
.factory('factoryB', factoryB); 

factoryB.$inject = ['factoryA']; 

function factoryB(factoryA) { 
//Do Stuff 
} 

のfoo-controller.js

angular.module('foo', ['moduleA']) 
     .controller('fooController', ['factoryB', function(factoryB){ 
//Do Stuff 
}) 
01コンソールの

エラー:

generic-console-medium.js:23 2016-11-27 18:49:42.395 - [$injector:unpr] Unknown provider: factoryBProvider <- factoryB <- fooController 
http://errors.angularjs.org/1.5.5/$injector/unpr?p0=factoryBProvider%20%3C-%20factoryB%20%3C-%20fooController Error: [$injector:unpr] Unknown provider: factoryBProvider <- factoryB <- fooController 
http://errors.angularjs.org/1.5.5/$injector/unpr?p0=factoryBProvider%20%3C-%20factoryB%20%3C-%20fooController 

at http://localhost:9001/components/angular/angular.js:68:12 

at http://localhost:9001/components/angular/angular.js:4458:19 

at Object.getService [as get] (http://localhost:9001/components/angular/angular.js:4611:39) 

at http://localhost:9001/components/angular/angular.js:4463:45 

at getService (http://localhost:9001/components/angular/angular.js:4611:39) 

at injectionArgs (http://localhost:9001/components/angular/angular.js:4635:58) 

at Object.invoke (http://localhost:9001/components/angular/angular.js:4657:18) 

at $controllerInit (http://localhost:9001/components/angular/angular.js:10115:34) 

at nodeLinkFn (http://localhost:9001/components/angular/angular.js:9033:34) 
    at http://localhost:9001/components/angular/angular.js:9433:13 
+0

あなたはあなたが得ているエラー(コンソールからのテキスト)を投稿してください。 – lealceldeiro

+0

@AsielLealCeldeiroがコンソールエラーで更新されました。ありがとうございます! – doranT

答えて

2

これは些細に聞こえるかもしれないが、あなたのプロジェクトであなたの工場-b.jsファイルが含まれていましたか?

以下のコードを修正する必要があります。これを除いて、すべてがうまく見えます。

function factoryA($q, $log, $timeout) { //remove the '' 
//Do Stuff 
} 
+0

指摘していただきありがとうございました、それはタイプミスでした。上のコードで引用符を削除しました。私はプロジェクトでrequireJSを使用しています、私は自分のコントローラにmodule.jsだけを含めました。それは動作させるためにmodule.jsとfactory-b.jsの両方を含める必要があるようです。 – doranT

関連する問題