v-model雙向綁定實現 單向數據流-》 父組件將值傳遞給子組件,子組件修改值時,將當前值e.target.value傳遞給父組件,父組件將該值傳遞給子組件,子組件的值修改
子組件 kInput.vue
<input :value="value" @input="onInput" v-bind="$attrs">
父組件 parent.vue
<!-- v-model代表着已經將子組件的value傳遞了過去-->
<KInput v-model="model.username"></KInput>
<!-- 和上面作用一樣,上面的寫法只是一個語法糖-->
<!-- <KInput :value="model.username" @input="getData"></KInput>-->
<KInput v-model="model.password" type="password"></KInput>
V-model等同於:value+@input事件的結合
sync修飾符添加於v2.4,類似於v-model,他能用於修改傳遞到子組件的屬性
<Input :value.sync="username">等同於
<Input :value="username" @updata:value="usernaem=$event">
這里綁定的屬性名稱更改,相應的屬性名也會變化
<Input :foo="username" @updata:foo="usernaem=$event">
用於場景:父組件傳遞的屬性子組件想修改
sync修飾符的控制能力都在父級,事件名稱也相對固定update:xx