组件 v-model
v-model
可以在组件上使用以实现双向绑定。
当使用在一个组件上时,v-model
会被展开为如下的形式:
1 | <CustomInput |
<CustomInput>
组件内部需要做两件事:
- 将内部原生
<input>
元素的value
attribute 绑定到modelValue
prop - 当原生的
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 --> |