vue 渲染大量数据 性能问题 财富值15

2016-09-25 16:47发布

现在需求是 页面上要显示上万条的文本数据,放到Log组件里面,最开始的做法是 在前台做数据处理,根据获取到得数组数据生成html 文本 (这里生成html文本很小,就一个span + 日志内容,但是数据量很大) 遍历每一个元素用handlerLog在前台处理 以
{{{ handlerLog(log) }}} 的方式 加载到Log 组件里面, 然后加载到主页面。

这样光是这个tab标签页内存直接飙升到1g+,卡得不能自理,甚至崩溃。

然后将生成html代码(也就是上面的handlerLog处理)的工作挪到了后台,返回给前台的是处理好的html代码 ,准确的说是一个字符串数组,数组元素就是类似于下面这种

<div><span style="color: red"> git pull rejected </span> </div>

然后我在vue里面 去遍历这个数组

 <template v-for="log in logs" >       {{{log}}}  </template>

由于数据量巨大,至少4000 行 + ,这样内存依旧飙到了500多m ,虽然现在不会崩溃 但是页面会渲染特别久。。。卡住至少5,6秒··请问有什么解决办法。。

同事找了一个组件 https://github.com/vue-comps/...

我也去尝试了 ,但是感觉性能没有多少提升,而且还造成了样式混乱.....

你们有遇到过类似的问题吗?? 求助

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答

用Object.freeze来创建data数据。可以取消双向绑定来优化渲染。

一周热门 更多>