从Firebase获取有限的图像

时间:2019-05-11 12:52:49

标签: javascript angular firebase-realtime-database

想要在单击按钮时从Firebase添加更多图像

我写了一个函数,

onLoadMore() {
  if (this.all.length > 1 ) {
    const lastLoadedPost = _.last(this.all);
    const lastLoadedPostKey = lastLoadedPost.key;

    this.loadMoreRef = firebase.database().ref('allposts').startAt(lastLoadedPostKey, lastLoadedPost).limitToFirst(7);

    this.loadMoreRef.on('child_added', data => {

      if ( data.key === lastLoadedPostKey ) {
        return;
      } else {
        this.all.push({
          key: data.key,
          data: data.val()
        });
      }
    });
  }
  }

但是当我单击按钮控制台向我显示此错误时,

Query.startAt失败:第二个参数是无效的键=“ [object Object]”。 Firebase密钥必须是非空字符串,并且不能包含“。”,“#”,“ $”,“ /”,“ [”或“]”)。

单击按钮时,我想添加更多图像,但我不想重复现有图像

1 个答案:

答案 0 :(得分:0)

要通过按键订购时获取下一页产品,您需要:

this.loadMoreRef = firebase.database().ref('allposts').orderByKey().startAt(lastLoadedPostKey).limitToFirst(7);

请注意此帖子,其中涉及startAt的第二个参数的含义:Firebase orderByChild with startAt()'s second argument w/ pagination not ordering