因为所有文档已经从数据库中加载,如何检查是否必须停止调用loadMore()
函数?
在下面的示例中,我使用的是Ionic,但是AngularJS应用中的ng-infinite-scroll也是如此。
这是我的实际代码:
HTML:
...
<ion-infinite-scroll
ng-if="!noMoreItemsToLoad"
on-infinite="loadMore()"
distance="5%">
</ion-infinite-scroll>
</ion-content>
JS控制器:
$scope.loadMore = function(){
console.log('Loading more docs...');
Items.loadMore(); // calling the .next() method inside the Items service
if( !Items.hasNext()) { $scope.noMoreItemsToLoad = true; }
$scope.$broadcast('scroll.infiniteScrollComplete');
}
JS项目工厂:
.factory('Items', function (FIREBASE_URL, $firebaseArray, $firebaseObject) {
var itemsRef = new Firebase(FIREBASE_URL + 'items/');
var scrollRef = new Firebase.util.Scroll(itemsRef, 'name');
var self = {
getAllItems : function(){ ... },
loadMore: function(){
scrollRef.scroll.next(4);
},
hasNext: function(){
if(scrollRef.scroll.hasNext()) { return true; }
else { return false; }
}
}
return self;
}
最佳答案
在超时中执行scroll.next
,例如:
loadMore: function(){
$timeout(function() {
scrollRef.scroll.next(4);
});
},
关于javascript - 如何检查所有文档是否都使用Firebase.util分页加载,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35270674/