1
我有以下服務從外部API獲取數據:
$scope.getDetails = function (id) {
$http.get('http://api.discogs.com/artists/' + id).
success(function(data) {
$scope.artist = data;
});
$http.get('http://api.discogs.com/artists/' + id + '/releases?page=1&per_page=12').
success(function(data2) {
$scope.releases = data2.releases;
});
$scope.clicked = true;
$scope.sliding = true;
}
而且它與NG-重複填充的位置:
<div class="col-md-3" ng-controller="ImageCtrl" ng-repeat="release in releases | filter:album | filter:year | filter:{ role: \'main\' }">
<div class="release"><img class="img-responsive" ng-src="{{image}}" />
{{release.title}}
</div>
</div>
我已經檢查documentation of ngInfiniteScroll但我看不清楚我怎麼能實現它。
如果我基本上做一個版本?頁=當頁面觸底1 ++?
我也看到了基於HTTP $從ngInfiniteScroll網站的例子,但它是在我目前的知識一點點,我不知道如何使它適應我的代碼。
任何提示?
編輯:我用hassassins回答創建下面的代碼,但仍然無法運行。我錯過了什麼嗎?
$scope.getDetails = function (id) {
$http.get('http://api.discogs.com/artists/' + id).
success(function(data) {
$scope.artist = data;
});
$http.get('http://api.discogs.com/artists/' + id + '/releases?page=1&per_page=12').
success(function(data2) {
$scope.releases = data2.releases;
});
var _page = 0;
$scope.releases = [];
$scope.LoadDetails = function(id) {
_page++;
$http.get('http://api.discogs.com/artists/' + id + '/releases?page=' + _page + '&per_page=12').then(function(data2) {
$scope.releases = $scope.data2.releases;
});
};
$scope.clicked = true;
$scope.sliding = true;
}
請注意,我包括髮行$ HTTP查詢兩次,第一次叫了第一批發布的,然後LoadDetails函數裏面!
而且,這裏有一個working Plunker!
感謝hassassin!我試過你的代碼(見更新的問題),但它不工作,所以也許我已經錯過了什麼!小心看一下?再次感謝! Eric –
這個想法是你有一個函數,它獲取結果。所以當第一次加載列表時,無限滾動將調用該函數並獲取結果的第一頁(比如1-12)。然後,如果向下滾動,將調用相同的函數來加載第二頁(比如13-24)。當這些數據被返回時,你將它添加到你的發佈數組中,它將更新ng-repeat – hassassin