根據vue原始碼手動實現虛擬dom

2021-09-05 04:10:14 字數 378 閱讀 5057

網上實現虛擬dom的文章也很多了,本專案**結構、函式等完全按照[email protected]原始碼思路實現,主要也是為了總結一下自己的學習。github位址在這裡。

從圖中可以看到,這個dom樹改變了許多地方,但是只新建了乙個div元素,這說明其餘的元素只是做了移動和文字內容的修改,這比重新渲染整棵dom樹要節省很多資源。

不多解釋了,下面直接看**吧。因為vue是通過模版解析之後生成的虛擬dom,我主要為了學習虛擬dom,沒有做模版解析,所以手動建立了兩棵虛擬dom樹(這不重要),然後通過patch函式對比,改變真實的dom樹結構。

>

Vue虛擬dom原始碼解析

vue原始碼解析 虛擬dom比較原理 function patch oldvnode,vnode else return vnode.elmpatch 函式接收新舊vnode,oldvnode的elm指向真實dom,vnode的elm為undefined,經過patch方法,vnode的elm也將指...

抖音 快手動態3D相簿原始碼實現

第一步 在桌面建立乙個資料夾。資料夾裡面再建立乙個資料夾img 裡面放 兩個文字 乙個是用來放css原始碼,乙個放html原始碼 第二步 把下面css原始碼複製到style.txt文字中 charset utf 8 body li.box minbox minbox li minbox li nth...

Vue原始碼解析 虛擬dom比較原理

通過對 vue2.0 原始碼閱讀,想寫一寫自己的理解,能力有限故從尤大佬2016.4.11第一次提交開始讀,準備陸續寫 其中包含自己的理解和原始碼的分析,盡量通俗易懂!由於是2.0的最早提交,所以和最新版本有很多差異 bug,後續將陸續補充,敬請諒解!包含中文注釋的vue原始碼已上傳.先說一下為什麼...