学习vue我们知道,我们想要使用v-model,都是和form表单绑定的,如果我们自己写了一个组件,如何在使用它时,让他也能拥有v-model一样双向绑定的语法糖效果呢?
- 首先看一下官网上说的自定义组件绑定v-model
- 首先写一个组件,并且要在父组件中使用
- 组件记得注册,局部或者全局,或者插件注册
vue插件注册不会插件注册的可以去看一下
- 必须要知道2件事:
v-model内部绑定的属性是value,绑定的事件是input
v-model会自动做这2个::value=’’ @input=’’
在自定义事件input绑定的回调函数中,会自动触发自定义事件传出来的实参 赋值给v-model绑定的响应式数据
在写子组件时,需要做2件事
父向子传值,所以我们要在写组件时
props:{
value:{
type:需要的类型,
default:空值
}
}
且子组件里的属性要和它绑定,达到数据变化视图跟着变
子组件件向父组件还要传值,达到视图变数据跟着变
子组件绑定一个事件,这个事件根据标签来定,但自定义事件必须是input
this.$emit('input',这个值根据需要)
看图
具体还是要多看官网