首页 > 其他 > 详细

vue从数据改变到试图改变的流程

时间:2021-03-03 19:19:52      阅读:34      评论:0      收藏:0      [点我收藏+]

技术分享图片

图解

1.页面中的DOM跟虚拟DOM是一一对应的

2.数据更新会通过数据跟缓存的抽象语法树AST生成新的虚拟dom ->VNode

3.update里通过diff算法对比新旧虚拟dom后更新旧的虚拟dom后再跟新页面(白话: 先遍历旧的Vnode的所有属性,看新的Vnode里面有没有这个值,有的话进行比较,不同的话更新旧的Vnode的值,新的Vnode没有这个值的话删除旧的Vnode里的值。再次遍历新的Vnode的值,再把旧的Vnode中没有的值给附加过去)

 

issues:

为什么不用新的Vnode直接替换原来的Vnode

真DOM跟Vnode是一一对应的,是引用关系,重新替换后他们之间的绑定,定会涉及树的递归遍历的访问,非常消耗性能,所以用过diff算法减少递归访问的

vue从数据改变到试图改变的流程

原文:https://www.cnblogs.com/95xdy/p/14475374.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!