vue中的虚拟dom

频繁且复杂的dom操作通常是前端性能瓶颈的产生点,Vue提供了虚拟dom的解决办法

(1) 提供一种方便的工具,使得开发效率得到保证
(2) 保证最小化的DOM操作,使得执行效率得到保证

  1. 根据虚拟dom树最初渲染成真实dom
  2. 当数据变化,或者说是页面需要重新渲染的时候,会重新生成一个新的完整的虚拟dom
  3. 拿新的虚拟dom来和旧的虚拟dom做对比(使用diff算法)。得到需要更新的地方之后,更新内容
  4. 如果一个节点发生了改变 那么他下面的所有子元素和子节点就不用去做对比 直接全部更新这个节点,
  5. 如果更新的内容插在了原来的内容里 比如说下面的图 原来的dom树中有abcde
    后来插入了f进来 一开始ab两个节点不用动直接采用虚拟dom中的,不用更新,而c开始 他的位置被f所占 所以会经历 卸载c 装载f 卸载d 装载c 卸载e 装载d 装在e这样的更新 ,这样的方法过于粗暴
    在这里插入图片描述
    如果为元素增加key后,Vue就能根据key,直接找到具体的位置进行操作,效率比较高
    你里插入图片描述
    像这样给每一个元素加上唯一的key值 这样vue 就会根据这唯一的索引直接找到具体的位置进行操作 不会进行连续装载卸载的操作 既能提高性能,也能提高效率
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值