本文共 1336 字,大约阅读时间需要 4 分钟。
这几天在制作上拉加载,这里总结一下。
//先转为字符串,再转为jsonJSON.parse(JSON.stringify(oldData))
数组
//使用时注意先后oldData = oldData.concat(newData);
json
//正确方法oldData = Object.assign({ },oldData,newData);//错误方法oldData = Object.assign(oldData,newData);
注释:
如果用错误方式写,则oldData永远都是最新内容 这是因为assign的第一个参数是目标对象,后面的才是源对象Object.assign(target, ...sources);
//服务端传来的数据为{ 3:{ "a","b"}, 8:{ "a","b"}, 7:{ "a","b"},}//客户端获取的数据为{ 3:{ "a","b"}, 7:{ "a","b"}, 8:{ "a","b"},}
因此可能出现服务端明明是倒序排列,到了客户端却是正序的情况,这样上拉加载后,新加载的内容可能跑到上面去了。
view在配置里写
export default { onReachBottom(){ this.getData(1); }, methods: { getData:function(isnext){ alert(isnext); } }}
scroll-view在组件上激活
console.log("最新数据,array");console.log(newData);console.log("旧数据,json");console.log(this.oldData);oldData = oldData.concat(newData);console.log("合并新旧数据,object");console.log(oldData);
//结果为["a","b","c"]echo json_encode(array(0=>'a',1=>'b',2=>'c'));//echo json_encode(array('a','b','c')); //结果为{"1":"a","2":"b","3":"c"}echo json_encode(array(1=>'a',2=>'b',3=>'c'));
转载地址:http://mpkpi.baihongyu.com/