【vue2 -> vue3 学习笔记】vue2 vue3 v-model 语法区别

vue3对v-model的语法进行了改动。
vue2 中有两种方式实现数据的双向绑定(组件与外部数据的双向绑定),一种是使用v-model,另一种是使用v-bind.sync修饰符。
两者在使用上没有太大的区别。所以在vue3中,舍弃了.sync的写法,并且将v-model的写法向.sync的写法靠近。
vue2中的v-model,主要是进行value属性的绑定和input事件的派发。如果想要更改 prop 或事件名称,则需要在 ChildComponent 组件中添加 model 选项。

// 等价于

vue2中的.sync,
//子组件 this.$emit('update:title', newValue) //父组件 //等价于

vue3中的v-model,
//子组件 this.$emit('update:modelValue', newValue) // 等价于

【【vue2 -> vue3 学习笔记】vue2 vue3 v-model 语法区别】可以看到vue3中的v-model和vue2中.sync修饰符的写法几乎一致。原来的默认的数据绑定也由value改为modelValue,事件绑定由原来的input改为@update:modelValue。
vue3中,如果不想使用默认的model名称或者想使用多个v-model,可以进行命名。
//父组件 //子组件 this.$emit('update:title', newValue1); this.$emit('update:content', newValue2);

注意:绑定的model名称和update事件名称要一致

    推荐阅读