vue中的虚拟DOM 和diff算法

提到虚拟DOM就需要提一下vue的就地复用策略

vue的就地复用策略:就是尽可能的进行(同级别,同位置),对比虚拟dom进行对比,复用旧Dom结构,进行差异化更新

虚拟Dom就是一个个描述真实dom结构的对象,为什么进行虚拟dom对比,因为真实的dom,比较复杂,拥有大量的无关属性,比较起来比较费时间和性能,所以利用虚拟dom进行对比,但是就算是虚拟的dom结构直接比也很麻烦,所以,vue中就提供了diff算法:

算法比较的规则

1.先比较根级元素,如果虚拟的dom元素不同,就直接删除旧dom节点,创建新新节点

2.比较同级,在没有设置key属性的情况下,自动按下标进行差异性比较,然后更新渲染;在设置了key值的情况下,按相同key值进行比较,这样可以提高虚拟dom对比的效率,进而提高渲染性能

注意点:这个key 必须是数子或者字符串,还必须是唯一的,如果有id就用id,没有用name也行,最后再考虑用index

=============================  术语   ==============================&#

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值