您好,登錄后才能下訂單哦!
這篇文章主要介紹了Vue中input控件如何通過value綁定動態屬性及修飾符,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
對于單選按鈕,勾選框及選擇列表選項, v-model 綁定的 value 通常是靜態字符串(對于勾選框是邏輯值):
<!-- 當選中時,`picked` 為字符串 "a" --> <input type="radio" v-model="picked" value="a"> <!-- `toggle` 為 true 或 false --> <input type="checkbox" v-model="toggle"> <!-- 當選中時,`selected` 為字符串 "abc" --> <select v-model="selected"> <option value="abc">ABC</option> </select>
但是有時我們想綁定 value 到 Vue 實例的一個動態屬性上,這時可以用 v-bind 實現,并且這個屬性的值可以不是字符串。
舉個最容易認知的例子
<input type="radio" v-model="pick" v-bind:value="a"> //當只有v-model的情況下,我們綁定了VUE實例中的pick這個數據,而這數據往往都是字符串或者是邏輯值,而如今通過v-bind綁定value,意味著,value是一個可變的數據 a,而不是字符串'a',而v-model在這個控件選定后的值就是指向value,而用v-bind綁定后,指向的值又是一個動態屬性,所以此時就可以通過a這個動態屬性來更改v-model綁定的值,其他的控件也是如此,比如select等 // 當選中時 vm.pick === vm.a
.lazy
在默認情況下, v-model 在 input 事件中同步輸入框的值與數據 (除了 上述 IME 部分),但你可以添加一個修飾符 lazy ,從而轉變為在 change 事件中同步:
//測試是在失去焦點的時候才更新,而不是實時更新
<input v-model.lazy="msg" >
.number
如果想自動將用戶的輸入值轉為 Number 類型(如果原值的轉換結果為 NaN 則返回原值),可以添加一個修飾符 number 給 v-model 來處理輸入值:
<input v-model.number="age" type="number"> {{typeof age}}//如果輸入的是字符串則是string,如果是數字字符串則轉換成number
這通常很有用,因為在 type=”number” 時 HTML 中輸入的值也總是會返回字符串類型。
.trim
如果要自動過濾用戶輸入的首尾空格,可以添加 trim 修飾符到 v-model 上過濾輸入:
<input v-model.trim="msg">
感謝你能夠認真閱讀完這篇文章,希望小編分享的“Vue中input控件如何通過value綁定動態屬性及修飾符”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。