首頁 > web前端 > js教程 > 在vue中如何實現單一元件下動態修改資料時的全部重渲染

在vue中如何實現單一元件下動態修改資料時的全部重渲染

亚连
發布: 2018-06-02 10:40:28
原創
2443 人瀏覽過

下面我就為大家分享一篇淺談vue單一元件下動態修改資料時的全部重渲染,具有很好的參考價值,希望對大家有所幫助。

今天在學習vue的過程中,發現一個有趣的現象。

在某一元件下的某一資料透過點擊事件被動態修改的時候,對應view中的資料同步的進行了修改,沒錯,這不是廢話嗎,vue的一大特色就是數據的雙向綁定。可有趣的是,該元件下我寫的另一個用Math.random()的data值對應的值和視圖也發生了變化

這就讓我這個剛入門的小白有點奇怪了,我修改一個,怎麼變了兩個? ? ? ?腦洞放開一想,會不會資料在雙向同步的時候,發生了什麼,例如。是不是只要有一個節點變了,node都重新進行了載入? ? ?

我想這其中的緣由必定和vue資料的雙向綁定的原理有關聯,就搜尋了一番,果然發現了些東西,就是DocumentFragment,之前好像見過,但沒怎麼重視。那麼它是用來幹啥的呢:

DocumentFragment(文檔片段)可以看作節點容器,它可以包含多個子節點,當我們將它插入到DOM 中時,只有它的子節點會插入目標節點,所以把它看成一組節點的容器。使用 DocumentFragment 處理節點,速度和效能遠優於直接操作 DOM。

手動劃重點:Vue 進行編譯時,就是將掛載目標的所有子節點劫持(真的是劫持,透過append 方法,DOM 中的節點會自動刪除)到DocumentFragment 中,經過一番處理後,再將DocumentFragment 整體傳回插入掛載目標。

上面是我整理給大家的,希望今後對大家有幫助。

相關文章:

JQuery選取select元件被選取的值方法

vue.js中$set與陣列更新方法_vue.js

在react-router4中進行程式碼分割的方法(基於webpack)

以上是在vue中如何實現單一元件下動態修改資料時的全部重渲染的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板