angularfire2无限滚动实现

时间:2017-05-17 18:03:03

标签: angular firebase angularfire2

我正在尝试在Angular 2中实现无限滚动并从firebase中检索数据。我正在使用一个Observable,但它带来了我在数据库中的所有记录,它的代码是

getUsers(): Observable<any> {
    return this.http.get(`${baseUrl}.json`).map((res: Response) => {
    this.data = res.json();
    return this.data;
    });
}

为了使数据在chuncks中进行,我尝试了链接

中的一个Angular 1实现

https://stackoverflow.com/a/40634381/5290012

并尝试实施

https://medium.com/@Sureshkumar_Ash/angular-2-simple-infinite-scroller-directive-with-rxjs-observables-a989b12d4fb1

使用其中之一就是抛出错误,说

上的属性不存在
  

Property&#39; orderByChild&#39;在类型&#39; Observable&#39;。

上不存在

请建议我需要如何处理

1 个答案:

答案 0 :(得分:1)

我能够通过将函数拆分为两个来实现这一点,并且每次滚动到达页面底部时都会调用addItems()函数,这会获取其他数据。

    getUsers(): Observable<any> {
    return this.fb.list('/items', {
      query: {
        orderByChild: 'pnr_id',
        limitToFirst: 200,
      }
    });
  }

  addItems(newStart) {
    console.log(newStart);
      return this.fb.list('/items', {
        query: {
          orderByChild: 'pnr_id',
          startAt: newStart,
          endAt: newStart + 200,
        }
      });
    };

现在,这对我来说是完美无缺的。