第五章表單控件綁定

v-model 指令可以在表單控件上創(chuàng)建雙向數(shù)據(jù)綁定。它會(huì)根據(jù)控件類型自動(dòng)選取正確的方法來(lái)更新元素。
基本用法
text:

<input type="text" v-model="name" placeholder="huangfu">
<span>{{ name }}</span>

當(dāng)用戶操作文本框時(shí),name會(huì)自動(dòng)更新為用戶輸入的值,span的內(nèi)容也會(huì)隨之改變。

checkbox:

<div id='exp'>
    <input type="checkbox" id="jack" value="Jack" v-model="checkedName">
    <label for="jack">Jack</label>
    <input type="checkbox" id="john" value="John" v-model="checkedName">
    <label for="john">John</label>
    <input type="checkbox" id="mike" value="Mike" v-model="checkedName">
    <label for="mike">Mike</label>
    <br>
    <span>Checked names: {{ checkedName }}</span>
</div>
  new Vue({
    el: '#exp',
    data: {
      checkedName: []
    }
})

當(dāng)用戶勾選checkbox時(shí),checkedName的值也會(huì)變,span中顯示的值隨之也會(huì)發(fā)生變化。

radio:

<div id='exp'>
    <input type="radio" id="a" value="Jack" v-model="radioName">
    <label for="a">Jack</label>
    <input type="radio" id="b" value="John" v-model="radioName">
    <label for="b">John</label>
    <input type="radio" id="c" value="Mike" v-model="radioName">
    <label for="c">Mike</label>
    <br>
    <span>Radio names: {{ radioName }}</span>
</div>
  new Vue({
    el: '#exp',
    data: {
      radioName: []
    }
})

當(dāng)用戶勾選radio時(shí),radioName的值也會(huì)變,span中顯示的值隨之也會(huì)發(fā)生變化。

select:

//單選
<div id="exp">
  <select v-model="selected">
    <option disabled value="">請(qǐng)選擇</option>
    <option value="a" >A</option>
    <option value="B" >B</option>
    <option value="C" >C</option>
  </select>
  <span>Selected: {{ selected }}</span>
</div>
new Vue({
  el: 'exp',
  data: {
    selected: ''
  }
})

//多選
<div id="exp">
  <select v-model="selected" multiple >
    <option disabled value="">請(qǐng)選擇</option>
    <option value="a" >A</option>
    <option value="B" >B</option>
    <option value="C" >C</option>
  </select>
  <span>Selected: {{ selected }}</span>
</div>
new Vue({
  el: 'exp',
  data: {
    selected: []
  }
})

值綁定
有時(shí)我們可能想把值綁定到 Vue 實(shí)例的一個(gè)動(dòng)態(tài)屬性上,這時(shí)可以用 v-bind 實(shí)現(xiàn),并且這個(gè)屬性的值可以不是字符串。

<input type="radio" v-model="picked"  :value="a">
new Vue({
  el: '',
  data: {
    a: 1,
    picked:''
  }
})
//用戶勾選時(shí),vm.picked === vm.a

v-model修飾指令
lazy
input事件改變成changs事件同步數(shù)據(jù)

<input v-model="abc" lazy>

debounce
設(shè)置最小延時(shí),比較像JS中的定時(shí)器 setTimeout

<input v-model="abc" debounce="500">

number
轉(zhuǎn)換字段類型 必須為數(shù)字類型

<input v-model="abc" number>
最后編輯于
?著作權(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)容

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