私は、いくつかのヘルパークラスAとBがサービスであり、AがBに依存しています。それらのプロバイダは.configフェーズで使用できるようにします。
私はプロバイダ内でプロバイダを読み込むためにthis SO answerを続けました。
あなたはここで見ることができるように、それが動作します:
http://plnkr.co/edit/SIvujHt7bprFumhxwJqD?p=preview
var coreModule = angular.module('CoreModule', []);
coreModule.provider('Car', function() {
//CarProvider.engine
this.engine = 'big engine';
//Car
this.$get = function() {
return {
color: 'red'
};
};
});
coreModule.provider('ParameterService', ['$injector', function($injector) {
try {
var CarProvider = $injector.get('CarProvider');
this.deepEngine = CarProvider.engine;
console.log('deepEngine = ' + this.deepEngine);
} catch (e) {
console.log("nope!")
}
// ParameterService
this.$get = function() {
return {};
};
}]);
coreModule.config(function(CarProvider) {
console.log('configEngine = ' + CarProvider.engine); // big engine
});
私はこのために、1つのファイルにCar
とParameterService
を持っている場合、これは動作します。しかし
私は、ディスク上の複数のファイルにCar
とParameterService
を分割、または私はParameterService
内部$injector.get('CarProvider')
に障害が発生すると、同じファイルにCar
前ParameterService
を定義します。
問題を解決するにはどうすればよいですか?
ファイルごとに1つのプロバイダ/サービスを持ちたいと思いますが、何が不足しているのか分かりません。
失敗した場所(分割ファイル)にプランナーを提供できますか? – ConcurrentHashMap