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

     

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM