0
点赞
收藏
分享

微信扫一扫

Vue3.0和2.0的区别

舍予兄 2021-09-19 阅读 69

    Vue3.0和2.0的区别

     性能提升

      更小巧,更快速。支持摇树优化,支持Fragments 和 跨组件渲染,支持自定义渲染器         

     API改动 

      除了渲染函数API和scoped-slot语法之外,其他均保持不变或将通过另外构建一个兼容包,来          兼容2.x模板语法的99%将保持不变,除了scoped-slot语法有一些微调,其中变化最大的是渲        染函数的API    (render) 中的虚拟DOM的格式

    重写虚拟DOM

     随着虚拟DOM的重写,减少了运行时(render)的开销,重写将包括更有效的代码来创建虚拟节点

1. vue2和vue3双向数据绑定原理发生了改变

vue2 的双向数据绑定是利用ES5 的一个 API Object.definePropert()对数据进行劫持 结合 发布订阅模式的方式来实现的。

vue3 中使用了 es6 的 ProxyAPI 对数据代理。

2. 默认进行懒观察(lazy observation)。

在 2.x 版本里,不管数据多大,都会在一开始就为其创建观察者。当数据很大时,这可能会在页面载入时造成明显的性能压力。3.x 版本,只会对「被用于渲染初始可见部分的数据」创建观察者,而且 3.x 的观察者更高效。

3. 更精准的变更通知。

比例来说:2.x 版本中,使用 Vue.set 来给对象新增一个属性时,这个对象的所有 watcher 都会重新运行;3.x 版本中,只有依赖那个属性的 watcher 才会重新运行。

4. 3.0 新加入了 TypeScript 以及 PWA 的支持

举报

相关推荐

0 条评论