- Vue.js從入門到項目實踐(超值版)
- 聚慕課教育研發中心編著
- 543字
- 2022-07-29 14:27:46
5.1.5 值綁定

通常情況下,對于text、radio、select組件,通過v-model綁定的值都是字符串。checkbox除外,checkbox值可能是布爾值。有時我們會有動態綁定Vue.js實例屬性的需求,這時可以使用v-bind來實現這個需求(通過v-bind來代替直接使用value屬性)。我們還可以綁定非字符串的值,如數值、對象、數組等。
v-model用來在View與Model之間同步數據,但是有時候需要控制同步發生的時機,或者在數據同步到Model前將數據轉換為Number類型。此時,可以在v-model指令所在的form控件上添加相應的修飾指令來實現這個需求。v-model修飾指令有以下幾個。
1.lazy
在默認情況下,v-model在input中同步輸入框的值與數據,可以添加一個lazy特性,從而改為在change事件中去同步。代碼如下:
<input v-model="msg" lazy> {{msg}}
2.debounce
設置一個最小的延時,在每次敲擊后延時同步輸入框的值到Model中。如果每次更新都要進行高耗操作(例如,在提示中輸入Ajax請求),它較為有用。代碼如下:
<input v-model="msg" debounce="300">
上述代碼表示,在用戶輸入完畢300ms后,vm.msg才會被更新。
提示:該指令是用來延遲同步用戶輸入的數據到Model中,并不會延遲用戶輸入事件的執行。因此,如果想要獲取變化后的數據,應該使用vm.$watch()來監聽msg的變化,而不是在事件中獲取最新數據。
3.number
當傳給后端的字段類型必須是數值的時候,可以在v-model所在控件上使用number指令(該指令會在用戶輸入時被同步到Model中,將其轉換為數值類型)。如果轉換結果為NaN,則對應的Model值還是用戶輸入的原始值。代碼如下:
<input v-model="age" number>
推薦閱讀
- 柳工出海:中國制造的全球化探索
- Dreamweaver CS5+ASP動態網站設計實用手冊
- CSS+DIV網頁樣式與布局案例指導
- Photoshop電商網頁廣告設計實戰從入門到精通
- 《練就職場功夫熊貓》
- 中文版Dreamweaver CC+Flash CC+Photoshop CC網頁設計基礎培訓教程
- 從零開始讀懂Web3
- Dreamweaver CS3網頁制作
- 建筑CAD繪圖技術(第2版)
- Dreamweaver CS4網頁制作入門、進階與提高
- 中文版Dreamweaver CS6高手之道
- 網頁設計與制作項目化教程
- 眾妙之門:電子商務網站設計指南
- 網站制作與管理技術標準實訓教程
- Dreamweaver CS4網頁制作100例