收藏
回答

做了一个分页加载,有报错,不知道什么意思?求解答


//index.js

let currentPage = 0 // 当前第几页,0代表第一页 

let pageSize = 10 //每页显示多少数据 

Page({

  /**

   * 页面的初始数据

   */

  data: {

    dataList: [], //放置返回数据的数组  

    loadMore: false, //"上拉加载"的变量,默认false,隐藏  

    loadAll: false //“没有数据”的变量,默认false,隐藏  

  },

 //页面上拉触底事件的处理函数

 onReachBottom: function() {

  console.log("上拉触底事件")

  let that = this

  if (!that.data.loadMore) {

    that.setData({

      loadMore: true, //加载中  

      loadAll: false //是否加载完所有数据

    });

    //加载更多,这里做下延时加载

    setTimeout(function() {

      that.getData()

    }, 2000)

  }

},

//访问网络,请求数据  

getData() {

  let that = this;

  //第一次加载数据

  if (currentPage == 1) {

    this.setData({

      loadMore: true, //把"上拉加载"的变量设为true,显示  

      loadAll: false //把“没有数据”设为false,隐藏  

    })

  }

  //云数据的请求

  wx.cloud.database().collection("demo")

    .skip(currentPage * pageSize) //从第几个数据开始

    .limit(pageSize)

    .get({

      success(res) {

        if (res.data && res.data.length > 0) {

          console.log("请求成功", res.data)

          currentPage++

          //把新请求到的数据添加到dataList里  

          let list = that.data.dataList.concat(res.data)

          that.setData({

            dataList: list, //获取数据数组    

            loadMore: false //把"上拉加载"的变量设为false,显示  

          });

          if (res.data.length < pageSize) {

            that.setData({

              loadMore: false, //隐藏加载中。。

              loadAll: true //所有数据都加载完了

            });

          }

        } else {

          that.setData({

            loadAll: true, //把“没有数据”设为true,显示  

            loadMore: false //把"上拉加载"的变量设为false,隐藏  

          });

        }

      },

      fail(res) {

        console.log("请求失败", res)

        that.setData({

          loadAll: false,

          loadMore: false

        });

      }

    })

},


  /**

   * 生命周期函数--监听页面加载

   */

  onLoad: function (options) {

    

  },

  /**

   * 生命周期函数--监听页面显示

   */

  onShow: function () {

    this.getData()

  },

  /**

   * 页面相关事件处理函数--监听用户下拉动作

   */

  onPullDownRefresh: function () {


  },


  /**

   * 页面上拉触底事件的处理函数

   */

  onReachBottom: function () {

    this.onReachBottom()

  },

})

报错信息!!!

回答关注问题邀请回答
收藏

2 个回答

  • 😥
    😥
    09-14

    09-14
    有用
    回复
  • !
    09-14

    超过最大调用堆栈大小

    09-14
    有用
    回复
登录 后发表内容
问题标签