1、vue2 和vue3双向数据绑定原理不同

vue2的数据绑定是利用Object.definePropet()对数据进行劫持 结合 发布订阅模式实现
vue3利用Proxy API对数据代理实现

两者区别:

defineProperty只能监听某个属性,ProxyAPI可以进行全局监听
proxy可以监听数组,不用单独对数组进行异性操作,可以检测到数组内部的变化
proxy可以直接绑定整个对象,省去for in 闭包等内容来提升效率

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

vue2.0中数据一开始就创建了观察者,数据很大的时候,就会出现问题,vue3中进行了优化 只有用于渲染初始化可见部分的数据,才会创建观察者,效率更高。

3、vue3.0中加入了typeScript以及PWA的支持

4、项目目录结构发生了变化

2.x中 移除了配置文件目录,config 和 build 文件夹
3.x中 相关的配置需要在根目录中手动创建vue.config.js,比如跨域

5、组件发送变化

开发组件区别

6、更精准的变更通知

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

Logo

前往低代码交流专区

更多推荐