Angular2 / Firebase - orderByChild时间戳和startAt数组

时间:2018-03-18 22:00:56

标签: javascript angular firebase ionic2

我试图为我的数据库中的帖子列表执行无限滚动功能。

我要做的第一件事是根据timestamp加载最后10个帖子,我使用on执行此操作,因为我想在帖子进来时加载帖子:

this.subscription = this.database.database.ref('/posts/'+this.userData.location)
   .orderByChild('created')
   .limitToLast(10);
   this.subscription.on('child_added', (snapshot) => {
       this.postFeed.push(snapshot.val());
});

我不认为这对于这个问题很重要,但我认为无论如何我都要添加它。

然后,使用Ionic和ion-infinite-scroll我会发现用户是否已到达内容的底部并运行此功能:

   doInfinite(event) {
       this.startLimit += 10;
        this.database.database.ref('/posts/'+this.userData.location)
        .orderByChild('created')
        .startAt(this.postFeed[this.postFeed.length-1].created)
        .limitToLast(this.startLimit)
        .once('value', (snapshot) => {
          snapshot.forEach(item => {
            this.postFeed.push(item.val());
            return false;
          })
        });
    }

所以我对此的希望是它按created命令(所以它找到最新的帖子),从数组created的最后一个元素开始(我也尝试过键但是没有& #39; t或者工作日期,然后将其限制为startLimit,从10开始,每个无限滚动上升...

问题是,这似乎不起作用..它没有向postFeed添加任何东西......我做错了什么?

感谢您的帮助!

0 个答案:

没有答案