发布网友 发布时间:2023-06-22 17:28
共1个回答
热心网友 时间:2024-12-05 00:51
vue2和vue3的区别:双向绑定更新不同、实例化不同、语法不同、获取props方式不同、数据和方法的定义不同。
一、双向绑定更新不同
vue2的双向数据绑定是利⽤ES5的⼀个API,Object.defineProperty对数据进⾏劫持结合发布订阅模式⽅式来实现的。vue3中使⽤了ES6的ProxyAPI对数据代理,通过reactive函数给每⼀个对象都包⼀层Proxy,通过Proxy监听属性的变化,从⽽实现对数据的监控。
二、实例化不同
vue2中new出的实例对象,所有的东西都在这个vue对象上,这样其实⽆论你⽤到还是没⽤到,都会跑⼀遍,这样不仅提⾼了性能消耗,也⽆疑增加了⽤户加载时间。
vue3中可以⽤ES mole imports按需引⼊,如:keep-alive内置组件、v-model指令,等等,不仅我们开发起来更加的便捷,减少了内存消耗,也同时减少了⽤户加载时间,优化⽤户体验。
三、语法不同
vue2使用的是webpack形式去构建项目,vue3使用vite构建项目。
四、获取props方式不同
vue2在script代码块可以直接获取props,vue3通过setup指令传递。
五、数据和方法的定义不同
vue2使⽤的是选项类型API(Options API),vue3使⽤的是合成型API(Composition API)。