vue 组件自定义v-model

 

参考资料:vue官网
在vue 中使用v-model双向绑定html

<input v-model="something">

实际上是语法糖vue

<input   :value="something"   @:input="something = $event.target.value">

自定义组件使用v-modelmarkdown

//父组件中调用
<child v-model="msg" />
//子组件代码

<template>
  <div>
    <slot />
  </div>
</template>

<script>
export default {
  name:'child',
  componentName:'child',
  data(){
    return {
      childVal:null
    }
  },
//vue中v-model默认绑定的是input事件,value参数,若是须要其余自定义的事件和数据名做为绑定,须要设置model
  model: {
    prop: 'value',
    event: 'change'
  },
  props: {
    value: {}
  },
  created(){
    this.$emit('change', this.value);
  },
}

</script>
相关文章
相关标签/搜索