在组件上使用 v-model
自定义事件也可以用于创建支持 v-model 的自定义输入组件。
<input v-model="searchText">
等价于下面的代码
<input
v-bind:value="searchText"
v-on:input="searchText = $event.target.value"
>
当在自定义祖甲氨种使用v-model时,这个组件内的 必须:
将其 value 绑定到一个名叫 value 的 prop 上
在其 input 事件被触发时,将新的值通过自定义的 input 事件抛出
写成代码之后是这样的:
Vue.component('custom-input', {
props: ['value'],
template: `
<input
v-bind:value="value"
v-on:input="$emit('input', $event.target.value)"
>
`
})
现在 v-model 就应该可以在这个组件上工作起来了:
<custom-input v-model="searchText"></custom-input>