Vue 用虛擬 DOM 的 diff 是不是屬於多此一舉

時間 2021-05-30 23:50:07

1樓:梵湖貓

JS是單執行緒

瀏覽器JS執行緒和GUI執行緒是互斥

DOM渲染對效能影響較大,更新DOM和重新建立DOM的效能差異VUE是資料劫持,並通過diff更新到DOMdiff原始碼分析 【Vue原理】Diff - 原始碼版之 Diff 流程

2樓:shayeLee

vue1.0的響應更新粒度極小,也就是每個資料與使用到自己的dom節點都繫結了依賴關係,因此記憶體開銷比較大,當專案比較大時會遇到效能瓶頸。

vue2.0屬於中等粒度的更新,元件的每個資料只是與元件建立依賴關係,記憶體開銷變少了,這也是vdom的diff更新機制給vue帶來的能力

3樓:方應杭

Vue採用虛擬DOM的目的是什麼? - 方正的回答 - 知乎 https://www.

zhihu.com/question/271485214/answer/386097473哥,善用搜尋。

這裡還有尤雨溪關於 Virtual DOM 的訪談:

Learn Virtual DOM – Advanced Vue.js Features from the Ground Up

4樓:kuitos

本來想答的,想想還是算了。

題主的問題其實就是「為什麼我在知道哪個資料更新的情況下不去直接改對應的dom而要重新在元件級別diff一次?」

其實我覺得這個問題可以關了

因為你要的答案都在這裡

如何看待 snabbdom 的作者開發的前端框架 Turbine 拋棄了虛擬DOM?

哦對了還問了為什麼選擇 vdom 而不是 Angular 的模板編譯手段實現跨平台,因為 vdom 生態好社群資源多

假設說世界是虛擬的,那麼你認為是誰虛擬的這個世界呢?

有心不怕遲 本源。乙個無限 不生不滅的自由意識 Freewill 神Spirit 有著無窮無盡的自發幻想,其景象就是無數多樣的宇宙和萬物及各自的規則和不規則。元吾氏 一大一尤 當繁華的世界 城市,都成為了虛擬的,那麼人類就如同螻蟻一樣,即使穿越了銀河系,也如同螞蟻穿過一條小溪罷了。至於是誰來構造的這...

虛擬歌手與虛擬偶像的存在在哲學上是屬於唯物主義還是唯心主義?

璩之 你不能說物質和意識是唯物的還是唯心的,因為唯心唯物不能作為它的分類。唯心唯物是根據 精神和物質何者為第一性 的原則來劃分的,是兩種不同的世界觀,而不是兩個互補的集合。你這個問題類似於在問 直角是有理數還是無理數 或者跟接近於 石頭是有神論的還是無神論的 那這個問題顯然沒辦法回答。 拋棄唯物違心...

vue 中鉤子 是怎樣的乙個概念

Rachel 先說自定義指令。除了核心功能缺省內置的指令 v model 和 v show Vue 也允許註冊自定義指令 來自Vue官網。因為有時候,需要操作底層DOM。所以需要自定義指令。首選註冊自定義指令Vue.directive,乙個指令定義物件可以提供如下幾個鉤子函式 所謂鉤子 就是魚鉤 等...