v-model使用方法

1.v-model 可以被用在自定义组件上吗?如果可以,如何使用?

可以。v-model 实际上是一个语法糖,如:

 <input v-model="searchText">

实际上相当于:

<input
 v-bind:value="searchText"
 v-on:input="searchText = $event.target.value"
>

用在自定义组件上也是同理:

<custom-input v-model="searchText">

相当于

<custom-input
 v-bind:value="searchText"
 v-on:input="searchText = $event"
></custom-input>

显然,custom-input 与父组件的交互如下: 1 父组件将 searchText 变量传入custom-input 组件,使用的 prop 名为 value ; 2 custom-input 组件向父组件传出名为 input 的事件,父组件将接收到的值赋值给 searchText ; 所以,custom-input 组件的实现应该类似于这样:

Vue.component('custom-input', {
 props: ['value'],
 template: `
 <input
 v-bind:value="value"
 v-on:input="$emit('input', $event.target.value)"
 >
 `
})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值