Vue的虚拟DOM

本文介绍了Vue中的虚拟DOM概念,强调其通过最小化DOM操作提升性能。虚拟DOM核心思想是提供高效开发工具,并确保高效执行。Diff算法用于找出新旧虚拟DOM的最小差异,减少真实DOM的操作,提高应用性能。文章还讨论了key值在虚拟DOM更新中的作用,指出key的存在能优化插入、删除和移动子节点的效率。
摘要由CSDN通过智能技术生成
浏览器加载一个HTML文件的大致流程:

1.构建DOM树
2.构建Style Rules,页面的样式表
3.把DOM树和样式表综合起来,形成Render Tree
4.布局,为每个Render树上的节点确定在显示屏上出现的精确坐标值。
5.绘制,调用每个节点的paint方法

JS操作真实DOM的代价

传统的开发模式,原生JS或者JQ操作DOM时,浏览器会从构建DOM树从头到位的执行一边流程,如果我们用循环更新10个DOM节点,浏览器会从第一个dom请求开始执行,连续对DOM进行9次的更新请求,直到执行10次,浪费性能的同时也容易导致页面卡顿,影响用户体验,频繁且复杂的dom操作通常是前端性能瓶颈的产生点,Vue提供了虚拟dom的解决办法。

虚拟DOM的核心思想:对复杂的文档DOM结构,提供一种方便的工具,进行最小化地DOM操作。这句话,也许过于抽象,却基本概括了虚拟DOM的设计思想。
  1. 提供一种方便的工具,使得开发效率得到保证
  2. 保证最小化的DOM操作,使得执行效率得到保证

也就是说,虚拟dom的框架/工具都是这么做的:

  1. 根据虚拟dom树最初渲染成真实dom。
  2. 当数据变化,或者说是页面需要重新渲染的时候,会重新生成一个新的完整的虚拟dom。
  3. 拿新的虚拟dom来和旧的虚拟dom做对比(使用diff算法),得到需要更新的地方之后,再更新内容。

这样的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值