vue中的v-model过多导致内存泄漏

  最近一个项目开发中遇到这样的问题:

  后端php已经返回了前端需要的数据,但是由于数据过多(20条),导致前端渲染页面时间很长,而且只有当控制台的preview返回了数据才会渲染。

  首先是排查问题:是前端渲染问题还是接口返回数据过慢的问题?起初,一旦数据过多时,preview的返回就会很慢,而且一旦返回前端就渲染完毕。这里就误导了开发,导致花了时间去排查接口,环境等的问题。开始以为是接口返回慢,导致页面加载等待,仅仅看preview是不行的,preview是将后端的接口翻译为前端可以查看的js代码。所以应该是页面的渲染速度太慢,才导致preview返回慢。

  其次定位前端页面渲染代码为什么慢:vue拿到list循环,遍历为form中的表单元素。当我们将表单循环的部分代码注释,页面渲染正常。20条数据,页面中中的表单元素大概100个,且都使用了v-model双向绑定方便修改。我们将v-model修改为:value时,再去渲染就很正常,所以页面加载慢的突破点就找到了,vue中过多的v-model导致内存泄漏。

  那么怎么处理这种问题呢?

  看到很多博文建议,使用原生的select,但是这样就无法实现双向绑定功能了。

  目前这个问题还没有得到很好的解决,我将最贴合这个问题的一个网址附载下面:

  https://segmentfault.com/q/1010000010608719

     

原文地址:https://www.cnblogs.com/fanyuying-web/p/11352759.html