«

Vue2和Vue3区别

yang 发布于 阅读:402 vue3阶段


1:底层原理的区别

Vue3完整支持TS,Vue3底层代码大多数(90%)都采用ts进行架构
Vue2不支持TS

2.组件通信

Vue3采用hooks方式

定义props及使用

const p = defineProps({
    key:{约束}
})

p.key //使用

定义emits及使用

const $emit = defineEmits(['事件1','事件2'])
$emit('事件1',参数)

Vue2采用this

定义props及使用(Vue2所有的props接收到就会挂载到this上)

props:{
    key:{约束}
}
this.key //使用

定义emits及使用

this.$emit('自定义事件',参数)

style支持动态属性

.box{
    color:v-bind(mycolor) //基础响应数据
    color:v-bind('mycolor.color') //引用响应数据
}

Teleport 任意组件传送门
Vue3独有 可以把Teleport标签,添加到HTML的任意元素中

3.生命周期

Vue3采用setup进行数据初始化(setup 相当于 beforeCreate + created)
其他生命周期采用hosks方式 onMounted() onUpdated() onUnmounted()
Vue2采用 create mount update destory

4.语法逻辑变换

Vue3 compositionAPI(组合式API),逻辑更为紧密(setup)
Vue2 选项式API。所有逻辑独立放在自己的标签内

5.Fragment / 模板简单化

Vue3 采用了虚拟父级,可以多个根节点
Vue 只支持1个根节点

6.底层运行变化

Vue3底层代码完全重构,所以在Vue3中 v-if的优先级比v-for高
Vue2 v-for优先级高于v-if

7.this指向

Vue3采用compositionAPI,所有代码逻辑放在settup作用域中,完全去掉this
Vue2采用this访问自身挂在的所有属性、方法、函数等

版权所有:微4e
文章标题:Vue2和Vue3区别
除非注明,文章均为 微4e 原创,请勿用于任何商业用途,禁止转载

推荐阅读:


扫描二维码,在手机上阅读
请先 登录 再评论