vue中v-model命令解释

v-model 是个语法糖

<template>
  <div>
    <input v-model="username">
    <!-- 上面这句等价于下面这句 -->
    <input :value="username" @input="username = $event.target.value">
  </div>
</template>
<script>
export default{
  data(){
    return {
        username:''
    }
  }
}
</script>

上面是针对html元素可以直接使用v-model,那么自定义组件如何使用v-model呢?

给组件使用v-model指令,实质上相当于给组件传递了value属性以及监听了input事件

<zhf-input v-model="msg">

等价与

<zhf-input v-bind:value="mes"  v-on:input="mes= arguments[0]"/>

自定义组件内的主要代码
html:

<div>
  <input :value="value" @input="handleInput" >
</div>

script:

props: {
  value: [String, Number]
},
methods: {
    handleInput (e) {
      this.$emit('input', e.target.value)
    }
  }
posted @ 2020-10-27 09:26  镇魂帆-张  阅读(239)  评论(0编辑  收藏  举报