组件封装之v-model

77 阅读1分钟

组件封装使用到的v-model实际上就是:value='value' @input='value=$event.target.value', 子组件里面接收value,并将@input='handlechange',vue里面进行简写v-model

//父组件
<son :value='value' @input='value=$event.target.value'></son>
//子组件
<children :value='value' @input='hadleChange'></children>
hadleChange(e){
    this.$emit('input',e.target.value)
}

input框的密码显示与隐藏,父组件传一个type='passWord',我们可以不用去改这个type,自己在组件内部data定义一个passwordVisible:false,点击时取反实现密码的显示与隐藏

//showPassword是传入是否要显示密码的icon,默认为false,显示密码框状态
<input :class='showPassword?(passwordVisible?'text':'password'):type'