v-model語(yǔ)法糖

v-model 主要是用于表單上數(shù)據(jù)的雙向綁定

一:基本

1:主要用于 input,select,textarea,component

2:修飾符:

? ??.lazy- 取代input監(jiān)聽change事件

? ??.number- 輸入字符串轉(zhuǎn)為數(shù)字

????.trim- 輸入首尾空格過(guò)濾

二:語(yǔ)法糖

? ? <input type="text" v-model="mes">? 此時(shí)mes值就與input的值進(jìn)行雙向綁定

? ? 實(shí)際上上面的代碼是下面代碼的語(yǔ)法糖。

????<input? v-bind:value="mes"? v-on:input="mes= $event.target.value"/>

? ? 要理解這行代碼,首先你要知道 input 元素本身有個(gè) oninput 事件,這是 HTML5 新增加的,類似 ????onchange ,每當(dāng)輸入框內(nèi)容發(fā)生變化,就會(huì)觸發(fā) oninput ,把最新的value傳遞給 mes。從而實(shí)? ????現(xiàn)了v-model

三:v-model用在組件上的時(shí)候

我們知道v-model可以實(shí)現(xiàn)數(shù)據(jù)的雙向綁定,但是,如果說(shuō)這是一個(gè)復(fù)雜的輸入框,在項(xiàng)目中也經(jīng)常使用。此時(shí)我們我們就把這個(gè)1輸入框封裝成組件,那怎么利用v-mode讓父組件的值與子組件input框里的值雙向綁定起來(lái)??聪旅娴睦?/p>

1:父組件

? ? ? ? ? ? ? ? <InputBox v-model="mes"></InputBox>

? ? ? ? ? ? 根據(jù)上面講的v-model語(yǔ)法糖,所以 InputBox那行代碼也可以寫成

? ? ? ? ? ? <InputBox v-bind:value="value"? ?v-on:input="mes= $event.target.value"></InputBox>

2:子組件

所以說(shuō):1:接受一個(gè)value? prop? ? 2:在有新的值時(shí)觸發(fā)input事件并將新值作為參數(shù)? 。這樣,我們就可以看到子組件和父組件的值就可以聯(lián)動(dòng)起來(lái)。但是我們看到v-model中的事件是input,如果碰到單選復(fù)選按鈕這種check事件,那我們就需要去自定義v-model,我們來(lái)看看第四節(jié)

四:v-model自定義。

1:父組件還是一樣的寫

<InputCheckout v-model="foo"></InputCheckout>

但是單選復(fù)選框不會(huì)觸發(fā)input事件,只會(huì)觸發(fā)change事件。所以在子組件我們需要自定義v-model。我們來(lái)看看代碼哈

2:

這樣就可以了
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,502評(píng)論 19 139
  • 這篇筆記主要包含 Vue 2 不同于 Vue 1 或者特有的內(nèi)容,還有我對(duì)于 Vue 1.0 印象不深的內(nèi)容。關(guān)于...
    云之外閱讀 5,167評(píng)論 0 29
  • 1.安裝 可以簡(jiǎn)單地在頁(yè)面引入Vue.js作為獨(dú)立版本,Vue即被注冊(cè)為全局變量,可以在頁(yè)面使用了。 如果希望搭建...
    Awey閱讀 11,278評(píng)論 4 129
  • 下載安裝搭建環(huán)境 可以選npm安裝,或者簡(jiǎn)單下載一個(gè)開發(fā)版的vue.js文件 瀏覽器打開加載有vue的文檔時(shí),控制...
    冥冥2017閱讀 6,193評(píng)論 0 42
  • 世界上有兩種學(xué)習(xí)方式: 1、通過(guò)大量的案例研究和觀察得來(lái), 2、通過(guò)閱讀,直接看書看會(huì)的。 干貨搬運(yùn)小書童
    追夢(mèng)人翟磊閱讀 412評(píng)論 0 0

友情鏈接更多精彩內(nèi)容