首页天道酬勤文本比较算法,树的diff算法

文本比较算法,树的diff算法

admin 05-12 13:13 119次浏览

什么是虚拟dom?

1、虚拟DOM的最终目标是在视图中渲染虚拟节点。 但是,如果直接使用虚拟节点来覆盖旧节点,则不需要的DOM操作会变多。 例如,一个ul标签下有多个li标签,其中只有一个li被修改。 在这种情况下,如果使用新ul而不是旧ul,则这些不必要的DOM操作会浪费性能。

为了避免不必要的DOM操作,虚拟DOM在将虚拟节点映射到视图时,会将虚拟节点与上次渲染视图时使用的旧虚拟节点(oldVnode )进行比较,找到需要实际更新的节点并进行DOM操作,然后进行其他更改

简而言之,主要做了两件事。

提供与实际DOM节点对应的虚拟节点vnode,将虚拟节点vnode与旧虚拟节点oldVnode进行比较并更新视图

什么是diff算法?

虚拟DOM可以利用DOM diff省去额外的操作。 例如,需要添加1000个节点,但仅添加了10个节点。 虚拟DOM通过diff算法只能添加10个已添加的节点,其他节点不需要进行任何更改。 这就是所谓的diff算法。

全场8折java包装类
web前端笔记,前端 真实dom和虚拟dom,虚拟dom原理和加载原理
相关内容