1

私は Firebase-util Paginate Infinite Scroll demoに従っていますが、最初に 0 アイテムをロードする代わりに、最初の数のアイテムをロードする方法があるかどうか疑問に思っていました。

ボタンをクリックすると、次の 16 項目が読み込まれます。最初のロードで 16 個のアイテムをロードし、ボタンをクリックすると別の 16 個のアイテムをロードする方法はありますか?

私の HTML と JS は次のようになります。

index.html

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

app.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 に答える