组件 v-model
v-model 可以在组件上使用以实现双向绑定。
当使用在一个组件上时,v-model 会被展开为如下的形式:
1 | <CustomInput |
<CustomInput> 组件内部需要做两件事:
- 将内部原生
<input>元素的valueattribute 绑定到modelValueprop - 当原生的
input事件触发时,触发一个携带了新值的update:modelValue自定义事件
1 | <!-- CustomInput.vue --> |
v-model 的参数
默认情况下,v-model 在组件上都是使用 modelValue 作为 prop,并以 update:modelValue 作为对应的事件。我们可以通过给 v-model 指定一个参数来更改这些名字:
1 | <MyComponent v-model:title="bookTitle" /> |
子组件应声明一个 title prop,并通过触发 update:title 事件更新父组件值:
1 | <!-- MyComponent.vue --> |