溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Vue中input控件如何通過value綁定動態(tài)屬性及修飾符

發(fā)布時間:2021-07-23 10:28:33 來源:億速云 閱讀:398 作者:小新 欄目:web開發(fā)

這篇文章主要介紹了Vue中input控件如何通過value綁定動態(tài)屬性及修飾符,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

對于單選按鈕,勾選框及選擇列表選項, v-model 綁定的 value 通常是靜態(tài)字符串(對于勾選框是邏輯值):

<!-- 當(dāng)選中時,`picked` 為字符串 "a" -->
<input type="radio" v-model="picked" value="a">
<!-- `toggle` 為 true 或 false -->
<input type="checkbox" v-model="toggle">
<!-- 當(dāng)選中時,`selected` 為字符串 "abc" -->
<select v-model="selected">
 <option value="abc">ABC</option>
</select>

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

舉個最容易認(rèn)知的例子

<input type="radio" v-model="pick" v-bind:value="a">
//當(dāng)只有v-model的情況下,我們綁定了VUE實例中的pick這個數(shù)據(jù),而這數(shù)據(jù)往往都是字符串或者是邏輯值,而如今通過v-bind綁定value,意味著,value是一個可變的數(shù)據(jù) a,而不是字符串'a',而v-model在這個控件選定后的值就是指向value,而用v-bind綁定后,指向的值又是一個動態(tài)屬性,所以此時就可以通過a這個動態(tài)屬性來更改v-model綁定的值,其他的控件也是如此,比如select等
// 當(dāng)選中時
vm.pick === vm.a

.lazy

在默認(rèn)情況下, v-model 在 input 事件中同步輸入框的值與數(shù)據(jù) (除了 上述 IME 部分),但你可以添加一個修飾符 lazy ,從而轉(zhuǎn)變?yōu)樵?change 事件中同步:

//測試是在失去焦點的時候才更新,而不是實時更新

<input v-model.lazy="msg" >

.number

如果想自動將用戶的輸入值轉(zhuǎn)為 Number 類型(如果原值的轉(zhuǎn)換結(jié)果為 NaN 則返回原值),可以添加一個修飾符 number 給 v-model 來處理輸入值:

<input v-model.number="age" type="number">
{{typeof age}}//如果輸入的是字符串則是string,如果是數(shù)字字符串則轉(zhuǎn)換成number

這通常很有用,因為在 type=”number” 時 HTML 中輸入的值也總是會返回字符串類型。

.trim

如果要自動過濾用戶輸入的首尾空格,可以添加 trim 修飾符到 v-model 上過濾輸入:

<input v-model.trim="msg">

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Vue中input控件如何通過value綁定動態(tài)屬性及修飾符”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI