他のサービスに依存して、サービスを作成しました。しかし、初期化は機能していません。
作業に近いはずです...ヒントはありますか?前もって感謝します!
編集: プランカーは現在修正されており、参照として使用できます。
他のサービスに依存して、サービスを作成しました。しかし、初期化は機能していません。
作業に近いはずです...ヒントはありますか?前もって感謝します!
編集: プランカーは現在修正されており、参照として使用できます。
あなたの例からわかるように、
factory.
たthis
service
testService.doLoadItems(callback);
代わりに testServiceMockConfig.doLoadItems(callback);
この単純なデモで見つけることができるサービス-ファクトリ-プロバイダーと定義の違い:
固定例:
angular.module('testServiceMockConfig', [])
.factory('testServiceMockConfig', function () {
console.log("setup cqrs mock config.");
return{
doLoadItems : function (callback) {
console.log("mock loading data");
if (!this.configuredLoadItems) {
throw Error("The mock is not configured to loadItems().");
}
callback(this.loadItemsError, this.loadItemsSuccess);
},
whenLoadItems : function (success, error) {
this.configuredLoadItems = true;
this.loadItemsSuccess = success;
this.loadItemsError = error;
}
}
});
angular.module('testService', ['testServiceMockConfig'])
.factory('testService', ['testServiceMockConfig', function (testServiceMockConfig) {
console.log("mock version. testServiceMockConfig: ");
return {
loadItems : function (callback) {
testServiceMockConfig.doLoadItems(callback);
}
}
}])
angular.module('ItemApp', ['testService'])
.controller('ItemsCtrl', ['$scope', 'testService', function ($scope, testService) {
$scope.text = 'No items loaded';
testService.loadItems(function (error, items) {
if (error) {
$scope.text = "Error happened";
}
$scope.text = '';
for (i = 0; i < items.length; i++) {
$scope.text = $scope.text + items[i].name;
}
})
}]);
デモPlunker