Vue3新特性
- 更高效的虚拟dom新算法更快(虚拟DOM(Virtual DOM)是Vue中用于提高性能的关键机制之一。它允许框架在内部维护一个虚拟的DOM树,然后通过对比虚拟DOM树的变化与实际DOM树的差异,从而最小化DOM操作的次数)
- Vue2中,虚拟DOM的更新机制是通过比较新旧虚拟DOM树的差异来实现的。然而,这种算法在处理大型应用程序时可能会导致性能问题,因为它需要对整个虚拟DOM树进行逐层的深度优先比较。
- Vue3引入了一种新的虚拟DOM算法,称为基于Proxy的虚拟DOM跟踪。这种新算法基于ES6的Proxy特性,通过跟踪响应式数据访问的方式,仅仅对实际被访问的数据进行依赖跟踪和更新。这种方式避免了遍历整个虚拟DOM树的性能开销,使得虚拟DOM的更新更加高效。
- 数据响应更新,ES6彩proxy ES5采用Object.defineProperty
Vue2 Vue3响应原理对比
- Vue2采用Object.defineProperty方法实现响应式数据
- 缺点
- 无法检测到对象属性的动态添加和删除
- 无法检测到数据的下标和length属性的变更
- 解决方案
-
vue2 Vue.$set动态给对象添加属性
-
Vue.$delete动态删除对象属性
-
- Vue3使用Proxy实现响应式数据
- 优点
- 可以检测到代理对象属性的动态新增和删除
- 可以检测到数组下标和lenght属性的变化
- 缺点
- ES6的proxy不支持低版本浏览器