笔记-虚拟dom,diff算法

文章详细阐述了Vue框架中虚拟DOM的概念,它如何在数据变化时减少DOM操作,提高性能。通过创建和比较两个虚拟DOM树,Vue使用diff算法找出最小更新路径。当根节点不同时直接替换,相同则深入比较属性、文本和子节点,利用updateChildren处理子节点的更新。
摘要由CSDN通过智能技术生成

 笔记参考vue 虚拟dom和diff算法详解_vue虚拟dom和diff算法_ら陈佚晨的博客-CSDN博客

1,虚拟dom


2,diff算法,具体调用什么函数进行比较

——————————————————————————————————————————

1,虚拟dom

  • 虚拟dom是一个js对象
  • 原本:数据更新时,要操作dom去重新渲染整个引擎。
  • 虚拟dom:根据当前数据生成一个描述该dom的虚拟dom,当数据改变后又生成一个虚拟dom,然后通过diff算法,比较这两个虚拟dom直接的差异,然后采用更新的最优方法,然后更新该dom。
  • 虚拟dom核心方法,函数解析?

2,diff算法,具体调用什么函数进行比较(略)

1、比较两个虚拟dom树,对根节点root进行执行patch(oldVnode,newVnode)函数,比较两个根节点是否是相同节点。如果不同,直接替换(新增新的,删除旧的)

2、如果相同,对两个节点执行patchVnode(oldVnode, newVnode),比较属性,文本,以及子节点。当同级属性,文本都相同时,都存在子节点时,会执行updateChildren函数,去进一步比较他们的子节点。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值