如下图,WAService.js中的setData占用了大量时间
当列表数据量很大时,我做了回收处理,只渲染10条数据,进行数量加一操作时,一条数据进行setdata,set的数据量很少,但是还是有性能问题。
很迷茫啊,不知道怎么优化,有没有大佬指点一下
下图:searchGoods数据量少,20条时,同等操作
下图::searchGoods数据量中,300条时,同等操作
下图::searchGoods数据量中,1000条时,同等操作
选择一张图,可以看到,一次操作,进行了三次setdata,数据量不大时,时间都有增长,第一个searchGoods的setdata时间增长最明显,但是searchGoods没有与视图直接绑定
1000条时,点击数量加1,三次setdata明细如下:
1.第一次setData的searchGoods传入了组件中,组件处理后,将裁剪的visibleData传入插槽,visibleData才真正与视图绑定
searchGoods的setdata花费了大量时间,这里我就不太明白
20条数据,第一次setdata searchGoods时间:
1000条数据,第一次setdata searchGoods时间:
2.第二个setData,汇总数据和购物车,执行时间参考上面的图片
3.第三个setData,searchGoods裁切后得到的visibleData,visibleData与视图绑定,执行时间参考上面的图片
下面是 C方法:
下面是doUpdates方法:
你这边怎么处理的数据的 能否截图代码片段
<slot v-bind:slotdata="visibleData"></slot>
<view v-for="(item, index) in list"
这个性能图是在哪里可以看到的呀,现在也遇到性能问题了,找不到地方可以分析
点击数量+1,触发了三次setdata。
第一次:占用时间最长。这次setdata不应该发生,列表并没有与视图直接绑定
第二次:必要更新 汇总数据和购物车
第三次:必要更新 列表真实渲染的数据