1

我正在关注 Firebase-util Paginate Infinite Scroll demo,并且想知道是否有办法加载初始数量的项目,而不是加载 0 个项目。

当我点击我的按钮时,我正在加载接下来的 16 个项目。有没有办法我可以在初始加载时加载 16 个项目,然后在单击我的按钮等时再加载 16 个?

我的 HTML 和 JS 看起来像这样:

索引.html

<h3>Items loaded: {{scrollItems.length}}</h3>
<button ng-click="scrollItems.scroll.next(16)">Load Next 16</button>

应用程序.js

app.controller('ServiceListController', ['$scope', '$firebaseArray', '$scrollArray',
  function($scope, $firebaseArray, $scrollArray) {
    var servicesRef = new Firebase('https://fbutil.firebaseio.com/paginate');
    $scope.scrollItems = $scrollArray(servicesRef, 'number');
}])

app.factory('$scrollArray', ['$firebaseArray', function($firebaseArray) {
  return function(ref, field) {
    var scrollRef = new Firebase.util.Scroll(ref, field);
    var list = $firebaseArray(scrollRef);
    list.scroll = scrollRef.scroll;

    return list;
  }
}])

这是一个实际的演示

对此的任何帮助表示赞赏。提前致谢!

4

1 回答 1

1

您可以告诉它立即获得前 16 个。

list.scroll = scrollRef.scroll;
list.scroll.next(16);
return list;

如果您在滚动时查看 firebase util 的文档:https ://github.com/firebase/firebase-util/blob/master/src/Paginate/README.md

他们在滚动使用下有这些行:

// download the first 20 records
scrollRef.scroll.next(20);
于 2015-05-12T18:39:59.790 回答