vue3与vue2的差异
2024年7月29日小于 1 分钟
vue3与vue2的差异
vue2 采用的是选项式API,Vue采用的是组合式API。理论上Vue书写更加灵活。
关于生命周期 Vue3 与Vue2 的对比如下
在Vue3 中添加了setUp语法糖,所以create阶段不需要在显式的定义
vue2 | vue3 |
---|---|
beforeCreate | |
create | |
beforeMount | onBeforeMount |
mounted | onMounted |
beforeUpdate | onBeforeUpdate |
updated | onUpdated |
beforeDestroy | onBeforeUnmount |
destroyed | onUnmounted |
其次Vue2中定义的变量,需要写到data当中,vue3在可以直接在setup中的不同地方定义,更加灵活
数据的响应式原理
Vue2中采用的是Object.defineProperty 对数据进行劫持。
这里存在的弊端是无法监听对象或数组的增删。
Vue3中是采用Proxy和REflect对数据进行代理。
Vue3 对于TS有更好的支持。
Teleport和Suspense组件: Vue3引入了Teleport组件用于更加灵活地控制组件的挂载位置,以及Suspense组件用于处理异步组件的加载状态。
新增了大量API帮助开发。