Angular での依存性注入について簡単な質問があります。相互に使用するために、カスタム サービスを作成します。残念ながら、私が試していた方法でエラーが発生しました。これは私のコードです:
var myApp = angular.module('app', []);
myApp.service('$service1', ['$rootScope', function($rootScope) {
this.test = function() {
console.log('service1');
};
}]);
myApp.provider('$service2', ['$service1', function($service1) {
var service = 'service2';
this.registerService = function(mytext) {
service = mytext;
};
this.$get = function() {
var that = {};
that.test = function() {
console.log(service);
};
return that;
};
}]);
myApp.config(['$service2Provider', function($service2Provider) {
$service2Provider.registerService('changed service2');
}]);
myApp.controller('AppCtrl', ['$rootScope', '$service1', '$service2',
function($rootScope, $service1, $service2) {
$service1.test();
$service2.test();
}]);
エラー: [$injector:modulerr] 次の理由により、モジュール アプリのインスタンス化に失敗しました: [$injector:unpr] 不明なプロバイダー: $service1 http://errors.angularjs.org/1.2.0-rc.2/ $injector/unpr? p0=%24service1
の依存関係を削除すると機能$servic1
し$service2
ますが、なぜですか?