0
我想將外部JSON內容加載到我的控制器範圍。開始我的前十個項目的範圍是沒有問題的。但我想要的是動態擴大新項目的範圍(滾動)服務動態加載角度數組中的新內容
由於某種原因,當我嘗試運行loadNews(counter)函數時,分頁在我的服務中不起作用。然而,當我在服務中記錄http獲取響應的結果時,顯示正確的數據。
當我擴大範圍newsitems時,它會擴大,但只有第一頁的項目。
這是我的一點點代碼。
app.service('newsService', function ($http, $q) {
var deferred = $q.defer();
var deferred2 = $q.defer();
this.loadNews = function (counter) {
if (counter == undefined) {
$http.get('http://domain.com/wp- json/wp/v2/posts').then(function (response) {
deferred.resolve(response);
});
return deferred.promise;
} else {
console.log(counter); // This returns a correct counter
$http.get('http://domain.com/wp-json/wp/v2/posts?page=' + counter).then(function (response) {
deferred2.resolve(response);
});
return deferred2.promise;
}
}
});
app.controller('homeNewsCtrl', function ($scope, $http, $timeout, $cordovaSplashscreen, newsService) {
$scope.count = 1;
var promise = newsService.loadNews();
promise.then(function (response) {
$scope.newsItems = response.data;
});
$scope.loadMore = function (counter) {
$scope.count += counter;
var promise = newsService.loadNews($scope.count);
promise.then(function (response) {
$scope.newsItems.push.apply($scope.newsItems, response.data);
});
};
});
你可以發佈一個小提琴什麼的 – gaurav5430
代碼看起來很直截了當,顯而易見的權利?爲什麼在$ scope.newsItems.push.apply($ scope.newsItems,response.data);而不是來自else語句中的響應? –
是否檢查了數組值,它們是否被添加 – gaurav5430