跟着腾讯云教程初学小程序开发,今天学到小程序云开发之查看所有todo,因为我一直是照着教程做的,发现到这里的时候,教程里在index.js里设置一个对象,里面设置一个变量skip用于存储跳过数据条数。发现按照教程的代码,一开始在没有触底的情况下就下拉刷新,tasks中的数据会增加20条,即数据库中的前20条往tasks后面追加,每下拉一次追加一次,造成数据库中前20条数据在tasks里重复出现,这肯定不是我们想要的效果。
其实完全不用设置那个记录skip变量的对象(教程中是pageData),只要在向tasks中追加数据的语句中的skip的参数设置为tasks数组的长度即可。
getdata: function (callback) {
if (!callback) {
callback = res => { }
}
wx.showLoading({
title: '数据加载中',
})
todos.skip(this.data.tasks.length).get().then(res => {
this.setData({
tasks: this.data.tasks.concat(res.data)
},
res => {
wx.hideLoading()
callback()
}
)
}
)
}