Q: 如何在自定义组件上使用 v-model?Vue 2 和 Vue 3 有什么区别?
v-model 是 Vue 提供的双向绑定指令。本质上是 props + emit 的语法糖。
在 Vue 2 中,默认绑定 value prop 和 input 事件。
<Comp v-model="text" />.sync 修饰符 (:title.sync="title")。Vue 3 将 v-model 和 .sync 合并了,统一了 API。
modelValue (不再是 value)。update:modelValue (不再是 input)。<Comp v-model="text" />Vue 3 支持参数化 v-model,轻松实现多个双向绑定。
first, lastupdate:first, update:lastVue 3 支持自定义修饰符(如 v-model.capitalize)。
组件会接收到一个 modelModifiers prop,包含 { capitalize: true },便于组件内部进行数据格式化。
value + input,多值需用 .sync。modelValue + update:modelValue,原生支持多值。