【问题标题】:Do not show the same values in a Firebase on each ngfor Loop - Angularfire2不要在每个 ngfor 循环的 Firebase 中显示相同的值 - Angularfire2
【发布时间】:2017-03-22 16:42:14
【问题描述】:

一般来说,如果你有一个从 firebase 抓取的 ngFor 循环,它一次有一个 limitTo 10,你如何在调用 firebase 列表时提取接下来的 10 个值而不是从第一个值开始。

我如何从我的 for 循环中,从 firebase 数据库中获取接下来的 10 条记录。

doInfinite(infiniteScroll) {
console.log('Begin async operation');
setTimeout(() => {
  for (let i = 0; i < 10; i++) {
    this.Aproducts.push( this.Aproducts[i] );
    //console.log(this.Aproducts.pop());
  }

  console.log('Async operation has ended');
  infiniteScroll.complete();
}, 100);

}

【问题讨论】:

  • 我发现了这个:但这对我的问题没有帮助:stackoverflow.com/questions/42731060/…
  • 我怎样才能使用我的 for 循环并将键推到 firebase 以每次只抓取接下来的 10 条记录? doInfinite(infiniteScroll) { console.log('开始异步操作'); setTimeout(() => { for (let i = 0; i

标签: angular firebase firebase-realtime-database ionic2 angularfire2


【解决方案1】:

通常 - 您可以通过使用 firebase 查询的功能来做到这一点。 所有 firebase 查询都必须以 orderBy 函数开头,例如 orderByPriority(firebase 默认优先级)。然后你可以像这样指定一个limitTofirst和startAt:

const queryObservable = af.database.list('/items', {
  query: {
    orderByPriority: true,
    limitToFirst: 10,
    startAt: key,
  }
});

详细了解查询选项in the github documentation

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-28
    • 1970-01-01
    • 2018-02-20
    • 1970-01-01
    • 1970-01-01
    • 2017-04-26
    • 2019-09-22
    相关资源
    最近更新 更多