在封装组件时v-model传入的值默认通过value进行接受
export default {
props:{
value:{
type:'String',
default:''
}
}
}
但也可以自己设置一个值进行绑定
model:{
prop:'model',
event:'change'
}
props:{
model:{
type:String,
default:''
}
}
event代表通过什么事件触发,v-model其实是一个语法糖他真正的写法是
<input :value='val' @input='val = val' />
所以将event重新赋值
Vue.component({
model:{
value:'model',
event:'change'
},
props:{
model:''
},
template:'
<input :value=model @input='this.$emit('change',model)'/>
'
})
当触发$emit定义的事件时,会自动改变v-model绑定的值