Vue中的虚拟dom和diff算法

Vue为什么要用vdom(虚拟dom)

  • 性能方面

    使用vdom能使用更少的dom操作,能减少时间花费,减少性能损耗。

  • 功能方面

    获得了更多的可扩展性和更高一层的抽象能力

虚拟dom是什么?

  • 它是一个Object对象模型,用来模拟真实dom节点的结构

虚拟dom的基本使用流程

  1. 获取数据

  2. 创建vdom

  3. 通过render函数解析jsx,将其转换成vdom结构

  4. 将vdom渲染成真实dom

  5. 数据更改了

  6. 使用diff算法比对两次vdom,生成patch.对象

  7. 根据key将patch对象渲染到页面中改变的结构上,而其他没有改变的地方是不做任何修改的(虚拟dom的惰性原则

diff算法是什么?

  • diff算法是一种优化手段,将前后两个模块进行差异化对比。

diff算法运行结束之后,返回什么?

  • 生成一个补丁对象(patch)

猜你喜欢

转载自blog.csdn.net/H5_zhoujun/article/details/93497016