如何使用JavaScript在Firebase中实现分页?

时间:2017-11-02 06:21:12

标签: javascript firebase firebase-realtime-database pagination

我正在使用JavaScript处理Firebase分页。我已实施软删除功能,其中未在Firebase 中删除,但在网络显示中删除。

因此,当进行软删除时,Firebase中的可见标志将变为false。我想在我的网络表单上显示使用JavaScript 可见标志为 true 的联系人( NEXT PREV 按钮)。

由于我是新手,我很乐意得到建议和帮助!!

Firebase快照如下:

enter image description here

最初获得前三条记录的代码如下:

function getData() {

  var total="";
  var firstRef = firebase.database().ref("Persons/").orderByChild("visible").endAt("true").limitToFirst(3);

    firstRef.on("value", function (data) {
    console.log(data.val());
    a = data.val();
    var keys = Object.keys(a);
    key1 = keys[0];
    key2 = keys[1];
    console.log("Key 1" + keys[0]);
    for (var i = 0; i < keys.length; i++) 
    {

      var k = keys[i];
      var fname = a[k].fname;
      var lname = a[k].lname;
      var mno = a[k].mno;
      var email = a[k].email;
      var image = a[k].image;
      var visible = a[k].visible;

      if (visible == true) {


        total += "<div><br/></div<div><b>KEY ID:  </b><h1>" + k + "</h1></div><div><br/></div><div><img src=" + image + " alt=NoProfilePic class=imgsrc></div><div><b>FIRST NAME : </b>" + fname + "</div><div><b>LAST NAME : </b>" + lname + "</div><div><b>MOBILE NO : </b>" + mno + "</div><div><b>EMAIL : </b>" + email + "</div><div><br/><b><hr><hr></b></div>";

        document.getElementById('total').innerHTML = total;

      }
   } 
  },
   function (error) {
      console.log("Error: " + error.code);
    });
  }

要获取下三条记录(按下 NEXT 按钮时将会调用),我编写了如下代码:

function next() {
    var total="";
    var lastRef = firebase.database().ref("Persons").orderByKey().startAt(key2 + "a").limitToFirst(3);

   lastRef.on("value", function (data) {

     c = data.val();
     var keys = Object.keys(c);
     for (var i = 0; i < keys.length; i++) {
        var k = keys[i];
        var visible = c[k].visible;

   if(visible==true)
   {
      var fname = c[k].fname;
      var lname = c[k].lname;
      var mno = c[k].mno;
      var email = c[k].email;
      var image = c[k].image;

     total += "<div><br/></div<div><b>KEY ID:  </b><h1>" + k + "</h1></div><div><br/></div><div><img src=" + image + " alt=NoProfilePic class=imgsrc></div><div><b>FIRST NAME : </b>" + fname + "</div><div><b>LAST NAME : </b>" + lname + "</div><div><b>MOBILE NO : </b>" + mno + "</div><div><b>EMAIL : </b>" + email + "</div><div><br/><b><hr><hr></b></div>";

        document.getElementById('total').innerHTML = total;

      }
      }
      key3=key1;
      key4=key2;
      key2=keys[2];
      key1=keys[0];

    }, 

    function (error) {
      console.log("Error: " + error.code);
    });

}

我是Firebase的新手,所以如果我错了请纠正我,如果有人能用 PREV 帮助我,那就太棒了!

谢谢!

0 个答案:

没有答案