前言

vue经历从2.0到3.0更新之后,简而言之就是变得更轻,更快,使用起来更加方便,每一次的版本迭代都是对上一个版本的升级优化,不管是对于我们开发者还是对于用户体验都是不断地在越来越方便,接下来我会着重于开发者来说一下两个不同版本的区别,

详解

1.vue2.0和3.0的初始化就存在着一定区别,比如vue3.0可以在安装脚手架同时提前安装好一些项目开发必备的插件,并且3.0提供了可视化创建脚手架,可以更加方便的对插件和依赖进行管理和配置,同时两个版本的目录结构也是有些许差别的。

2.在开发过程中两个版本的使用方法虽然在表面上没有太大的一个区别,但是在他的底层方面去看的话区别还是很大的,其中就包括渲染方式,数据监听,双向绑定,生命周期,vue3更精准变更通知,
这里着重说一下关于双向绑定的更新,
vue2 的双向数据绑定是利用ES5 的一个 API ,Object.definePropert()对数据进行劫持 结合 发布订阅模式的方式来实现的。
vue3 中使用了 es6 的 ProxyAPI 对数据代理,通过 reactive() 函数给每一个对象都包一层 Proxy,通过 Proxy 监听属性的变化,从而实现对数据的监控。

这里是引相比于vue2版本,使用proxy的优势如下
1.defineProperty只能监听某个属性,不能对全对象监听
可以省去for in、闭包等内容来提升效率(直接绑定整个对象即可)
2.可以监听数组,不用再去单独的对数组做特异性操作,通过Proxy可以直接拦截所有对象类型数据的操作,完美支持对数组的监听。用

3.另外vue3还新增了一些内置组件和方法,比如vue3可以默认进行懒观察,使用Function-based API,setup函数,对与插件或对象的一个按需引入,Computed Value ,新加入了 TypeScript 以及 PWA 的支持等等…
这里着重说一下vue3的一个按需引入

Vue2.x中new出的实例对象,所有的东西都在这个vue对象上,这样其实无论你用到还是没用到,都会跑一变,这样不仅提高了性能消耗,也无疑增加了用户加载时间。
而vue3.0中可以用ES module imports按需引入,如:keep-alive内置组件、v-model指令,等等,不仅我们开发起来更加的便捷,减少了内存消耗,也同时减少了用户加载时间,优化用户体验。

以上就是我对vue2和vue3两个版本迭代的一个大致解说,更多的详细介绍请看下方

主要区别介绍~
vue3.0新特性
相较于vue2.0,vue3.0的一些优化

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐