微信小程序中当setdata超过其大小时,会以上报错,查阅了一下文档,现在更新的这版没有看到setdata有限制其大小,但之前微信开发者文档中有明确标注大小不能超过1024KB~所以在分类列表页面其实要注意的是渲染列表的商品尽量使用二维数组而不是一维数组
常规写法:一维数组
data:{
// 数据源
list:[]
},
getListData:function(){
// 本次加载的数据
let _list = [];
...
setData({
// 将之前的数据与本次加载的数据合并后,一起提交
list: this.data.list.concat(_list)
});
}
优化的写法:二维数组
data:{
// 数据源
list:[],
pageNum :1
},
getListData:function(){
// 本次加载的数据
if (this.data.pageNum == 1) {
this.setData({
list: []
})
}
this.setData({
['list[' + (this.data.pageNum - 1) + ']']: res.data.list
})
}
关键点在于setdata的这块的写法~这边使用pageNum作为key值每次我们是指放了res.data.list中的数据而不是一整个!