虛擬dom的簡單了解

2021-10-04 08:00:49 字數 671 閱讀 5816

頻繁且複雜的dom操作通常是前端效能瓶頸的產生點,vue提供了虛擬dom的解決辦法

虛擬的dom的核心思想是:對複雜的文件dom結構,提供一種方便的工具,進行最小化地dom操作。這句話,也許過於抽象,卻基本概況了虛擬dom的設計思想

(1) 提供一種方便的工具,使得開發效率得到保證

(2) 保證最小化的dom操作,使得執行效率得到保證

也就是說,虛擬dom的框架/工具都是這麼做的:

根據虛擬dom樹最初渲染成真實dom

當資料變化,或者說是頁面需要重新渲染的時候,會重新生成乙個新的完整的虛擬dom

拿新的虛擬dom來和舊的虛擬dom做對比(使用diff演算法)。得到需要更新的地方之後,更新內容

這樣的話,就能大量減少真實dom的操作,提高效能

例子:

"content"

>

}<

/p>

="list-group"

>

<

/ul>

<

/div>

"myp"

>

1<

/div>

React 簡單的虛擬DOM理解

1 當元件的state或props發生改變,元件的render函式會重新執行一次 根據 state,得到資料 根據 jsx,得到模板 資料 模板 結合,通過react.createelement 生成虛擬dom js物件,用來描述真實的dom 會消耗效能,但代價低 div span one 用虛擬d...

虛擬DOM跟js操作dom的簡單區別

1.用html分析器,分析html元素,建立一顆dom樹 2.用css分析器,分析css樣式,生成頁面的樣式表 3.將樣式表和dom數關聯起來,構建成乙個render 渲染 樹,每乙個dom節點都有attach 固定 方法來接受各自的樣式,最後集中成一棵render 渲染 樹 4.有了render ...

虛擬dom 虛擬 DOM 和 DOM diff

乙個能代表dom樹的物件,通常含有標籤名 標籤上的屬性 事件監聽和子元素及其它屬性。虛擬dom在vue和react中的示例 const rnode classname red 標籤上的屬性 onclick 事件 ref null,type div 標籤名 or 元件名 const vnode 事件 ...