vue 虚拟 dom
Virual DOM 是用 JS 对象记录一个 dom 节点的副本,当 dom 发生更改时候,先用
虚拟 dom 进行 diff,算出最小差异,然后再修改真实 dom。
vue 的 virtual dom 的 diff 算法是基于 snabbdom 算法改造而来,与 react 的 diff 算法一样
仅在同级的 vnode 间做 diff,递归的进行同级 vnode 的 diff,最终实现整个 DOM 树的更新。
虚拟 DOM 的缺点:
- 代码更多,体积更大
- 内存占用增大
- 小量的单一的 dom 修改使用虚拟 dom 成本反而更高,不如直接修改真实 dom 快