Vue:V-model語法糖

v-model語法糖的使用vue

使用v-model來進行雙向數據綁定的時:bash

<input v-model="something">
複製代碼

僅僅是一個語法糖:ui

<input v-bind:value="something" v-on:input="something=$event.target.value">
複製代碼

因此在組件中使用的時候,至關於下面的簡寫:this

<custom v-bind:value="something" v-on:input="something = $event.target.value"></custom>
複製代碼

因此要組件的v-model生效,它必須:spa

  • 接受一個 value 屬性code

  • 在有新的value時觸發input事件component

對比:事件

<template>
  <InputNumber v-model="value" />
</template>
<script>
  import InputNumber from '../components/input-number/input-number.vue';

  export default {
    components: { InputNumber },
    data () {
      return {
        value: 1
      }
    }
  }
</script>
複製代碼
<template>
  <InputNumber :value="value" @input="handleChange" />
</template>
<script>
  import InputNumber from '../components/input-number/input-number.vue';

  export default {
    components: { InputNumber },
    data () {
      return {
        value: 1
      }
    },
    methods: {
      handleChange (val) {
        this.value = val;
      }
    }
  }
</script>
複製代碼
相關文章
相關標籤/搜索