У меня есть простой DataFactory, который извлекает некоторые сообщения:
dataFactory.getPosts = function() {
if (this.httpPostsData == null) {
this.httpPostsData = $http.get("http://localhost/matImms/wp-json/posts?type=journey&filter[posts_per_page]=-1&filter[order]=ASC&filer[orderby]=date")
.success(function (posts) {
})
.error(function (posts) {
console.log('Unable to load post data: ' + JSON.stringify(posts));
});
}
return (this.httpPostsData);
}
Контроллер называет завод, и я понимаю, что посты обещает -SO есть некоторые вещи сделанные на успех и некоторые вещи, которые сделаны в любом случае. Это прекрасно работает.
.controller('CardsCtrl', function($scope, dataFactory,
$ionicSlideBoxDelegate, $stateParams) {
var parentID = $stateParams.parentID;
var keyIDNumber = $stateParams.keyID;
$scope.card = [];
var httpcall = dataFactory.getPosts()
.success(function (posts) {
$scope.card = dataFactory.getChildPosts(parentID, posts, keyIDNumber);
$ionicSlideBoxDelegate.update();
});
// do other stuff ......
});
Однако, сейчас я пытаюсь кэшировать запись данных - но когда контроллер называется второй раз она возвращает .success ошибка не является функцией. Я предполагаю, что это потому, что сообщения уже возвращены, но как мне это сделать?