這篇文章給大家分享的是有關(guān)Vuejs中如何使用指令v-model完成表單的數(shù)據(jù)雙向綁定的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
成都創(chuàng)新互聯(lián)專(zhuān)注為客戶(hù)提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站制作、做網(wǎng)站、衢江網(wǎng)絡(luò)推廣、小程序定制開(kāi)發(fā)、衢江網(wǎng)絡(luò)營(yíng)銷(xiāo)、衢江企業(yè)策劃、衢江品牌公關(guān)、搜索引擎seo、人物專(zhuān)訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供衢江建站搭建服務(wù),24小時(shí)服務(wù)熱線:028-86922220,官方網(wǎng)址:www.cdcxhl.com
表單控件在實(shí)際業(yè)務(wù)較為常見(jiàn),比如單選、多選、下拉選擇、輸入框等,用它們可以完成數(shù)據(jù)的錄入、校驗(yàn)、提交等。
Vue.js提供了v-model
指令,用于在表單類(lèi)元素上雙向綁定數(shù)據(jù),例如在輸入框上使用時(shí),輸入的內(nèi)容會(huì)實(shí)時(shí)映射到綁定的數(shù)據(jù)上。
例如下面的例子:
輸入的內(nèi)容是:{{message}}
在輸入框輸入的同時(shí),{{message}}
也會(huì)實(shí)時(shí)將內(nèi)容渲染在視圖中。
如圖6-1所示:
對(duì)于文本域
輸入的內(nèi)容是:
{{text}}
提示:
提示v-model后,表單控件顯示的值只依賴(lài)所綁定的數(shù)據(jù),不再關(guān)心初始化時(shí)的value屬性,對(duì)于在之間插入的值,也不會(huì)生效。
使用v-model時(shí),如果是用中文輸入法輸入中文,一般在沒(méi)有選定詞組前,也就是在拼音階段,Vue是不會(huì)更新數(shù)據(jù)的,當(dāng)敲下漢字時(shí)才會(huì)觸發(fā)鞥新。
如果希望總是實(shí)時(shí)更新,可以用@input來(lái)替代v-model。
事實(shí)上,v-model也是一個(gè)特殊的語(yǔ)法糖,只不過(guò)它會(huì)在不同的表單上智能處理。
例如下面的示例:
輸入的內(nèi)容是:{{message}}
來(lái)看看更多的表單控件。
單選按鈕:
單選按鈕在單獨(dú)使用時(shí),不需要v-model,直接使用v-bind綁定一個(gè)布爾類(lèi)型的值,為true時(shí)選中,為false時(shí)不選。
例如:
如果是組合使用來(lái)實(shí)現(xiàn)互斥選擇的效果,就需要v-model配合value來(lái)使用:
您選擇的是:{{picked}}
數(shù)據(jù)picked的值與表單按鈕的value值一致時(shí),就會(huì)選中該項(xiàng),所以當(dāng)前狀態(tài)下選中的是第二項(xiàng)。
如圖6-2所示:
復(fù)選框:
復(fù)選框也分單獨(dú)使用和組合使用,不過(guò)用法稍與單選不同。
復(fù)選框單獨(dú)使用時(shí),也是用v-model來(lái)綁定一個(gè)布爾值。
例如:
在勾選時(shí),數(shù)據(jù)checked的值改為了true,
組合使用時(shí),也是v-model與value一起,多個(gè)勾選框都綁定到同一個(gè)數(shù)組類(lèi)型的數(shù)據(jù),value的值在數(shù)據(jù)當(dāng)中,就會(huì)選中這一項(xiàng)。
這一過(guò)程也是雙向的,在勾選時(shí),value的值也會(huì)自動(dòng)push到這個(gè)數(shù)組中。
實(shí)例代碼如下:
你選擇的是:{{checked}}
當(dāng)前狀態(tài)下的結(jié)果如圖6-3所示:
選擇列表:
選擇列表就是下拉選擇器,也是常見(jiàn)的表單控件,同樣也分為單選和多選兩種方式。
先看一下單選的示例代碼:
你選擇的是:{{selected}}
如果沒(méi)有,就會(huì)直接匹配
比如選中第二項(xiàng)時(shí),selected的值為js,而不是JavaScript。
給
你選擇的是:{{selected}}
在業(yè)務(wù)中,
你選擇的是:{{selected}}
雖然用選擇列表