如何使用anfularfire2 / firestore创建分页

时间:2018-03-09 08:14:21

标签: angular pagination angularfire2

我正在尝试创建一个分页,我想查询具有偏移和限制的项目,这些项目是动态传递的(在UI中单击时)。 我正在使用收藏品。有没有办法从索引和限制开始查询数据,例如5个项目?

我正在尝试以下方法:

import { AngularFirestore } from 'angularfire2/firestore'; 
//other code

public getData(offsetFrom, offsetTo) { 
  this.fromQuery$ = this.db.collection('transactions', (ref) => ( 
  ref.where('fromAddress', '==', this.fromAddress)
  .orderBy('date', 'asc')
  // I want to start from item number, but maybe not possible using angularfirestore
  // where startAt accepts param - field value 
  .startAt(3).limit(2))).valueChanges(); 
}

我不想选择所有项目,因为它们可能很多,我想在点击下一个/上一个项目按钮时加载例如5个项目。

1 个答案:

答案 0 :(得分:1)

无法从索引开始。您必须使用DocumentSnapshotstartAt功能。实施例



public getData(doc: DocumentSnapshot, limit) { 
  this.fromQuery$ = this.db.collection('transactions', (ref) => ( 
  ref.where('fromAddress', '==', this.fromAddress)
  .orderBy('date', 'asc')
  .startAt(doc).limit(limit))).valueChanges(); 
}




您可以在官方文档https://angularfirebase.com/lessons/infinite-scroll-firestore-angular/

中找到类似的内容