一、创建实例的函数不同
vue2创建实例:
var vm = new Vue({
// 选项
})
vue3创建实例:
const app = Vue.createApp({
/* 选项 */
})
二、生命周期变化
vue2生命周期:
vue3生命周期:
beforeDestroy和Destroy被beforeUnmount和unmounted替代。
三、点击组件增加了一个属性emites
可以通过 emits
选项在组件上定义已发出的事件。
app.component('custom-form', {
emits: ['inFocus', 'submit']
})
四、Vue3可以多个 v-model
绑定
<user-name
v-model:first-name="firstName"
v-model:last-name="lastName"
></user-name>
app.component('user-name', {
props: {
firstName: String,
lastName: String
},
emits: ['update:firstName', 'update:lastName'],
template: `
<input
type="text"
:value="firstName"
@input="$emit('update:firstName', $event.target.value)">
<input
type="text"
:value="lastName"
@input="$emit('update:lastName', $event.target.value)">
`
})
五、vue3多了组合式 API
这里的内容相对丰富,请参考官方文档