Vue2和Vue3的区别

Vue2和Vue3的区别

Vue2和Vue3的区别。

Vue2和Vue3的数据绑定原理发生了变化

Vue2利用 Object.defineProperty() 完成的对数据的劫持,结合发布订阅来实现的双向数据绑定,但是只能监听某一个属性,不能对整个对象进行监听。

Vue3使用的是es6的 Proxy 的API来完成的双向数据绑定,可以监听整个对象。

Vue3支持多个根节点

Vue2只支持一个页面根节点,vue3支持多个。

Vue3可以使用composition API

composition API可以让我们通过代码功能的不同来分组API,可以使得代码更加直观。

Vue2数据定义在 data 里面,方法定义在 methods 里面。

Vue3可以首先引入 reactivesetup 中使用reactive将变量包装为响应式变量,在setup的最后 return 这些响应式变量,最后 template 中就可以使用这些变量。

生命周期的变化

Vue2--------------Vue3
beforeCreate  -> setup()
created       -> setup()
beforeMount   -> onBeforeMount
mounted       -> onMounted
beforeUpdate  -> onBeforeUpdate
updated       -> onUpdated
beforeDestroy -> onBeforeUnmount
destroyed     -> onUnmounted
activated     -> onActivated
deactivated   -> onDeactivated
errorCaptured -> onErrorCaptured

Vue3可以按需引用

Vue3按需引用api。

评论