微信小程序setData()
同步更改数据,异步渲染视图
小程序中数据层和视图层使用setData()进行交互,在使用setData时,页面中的data同步发生改变,但视图层渲染是异步的。也就是说setData()后,data里面的相应数据以及修改,但在执行下一行代码时,视图还未渲染完成,开发中需要注意
解决方案:如果业务逻辑需要渲染完成后再执行的,可以给setData()的第二个参数传入一个回调函数
性能问题
setData()改变的数据较多时比较耗性能,会出现明显卡顿,比如长列表出现白块,点击事件相应慢等,同时,测试过data里的数据如果太多(onLoad相当于执行了一次渲染),会阻塞第一次setData()的渲染