1 .lazy
v-model 指令默認會在 input 事件中加載輸入框中的數據(中文輸入法中輸入拼音的過程除外)。我們可以使用 .lazy 懶加載修飾符,讓其只在 change 事件中再加載輸入框中的數據。
html:
<div id="app"> <input type="text" v-model.lazy="content" placeholder="請輸入" value="初始值"> <p>輸入框:{{content}}</p></div>js:
var app = new Vue({ el: '#app', data: { content: '' }});效果:

使用 .lazy 懶加載修飾符之后,只有在輸入框失去焦點或者按回車鍵時才會更新 content 值。
2 .number
輸入框輸入的內容,即使是數字,默認也是 string 類型:

在此,我們可以使用 .number 修飾符讓其轉換為 number 類型――
html:
<div id="app2"> <input type="number" v-model.number="content" placeholder="請輸入" > <p>輸入值:{{content}},輸入類型:{{typeof content}}</p></div>js:
var app2 = new Vue({ el: '#app2', data: { content: 1 }});效果:

3 .trim
使用 ?.trim` 修飾符可以自動過濾掉輸入框的首尾空格。
html:
<div id="app3"> <input type="text" v-model.trim="content" placeholder="請輸入" value="初始值"> <p>輸入框:{{content}}</p></div>js:
var app3 = new Vue({ el: '#app3', data: { content: '' }});
以上示例 DEMO
PS:下面通過代碼看下v-model指令及其修飾符
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><div id="app"> <div> <input type="text" v-model="name"> <pre><h2>{{name}}</h2></pre> </div> <div> <input type="text" v-model.lazy="name"> <pre><h2>{{name}}</h2></pre> </div> <div> <input type="text" v-model.trim="name"> <pre><h2>{{name}}</h2></pre> </div></div><script src="../lib/vue.js"></script><script src="js/main.js"></script></body></html>var app = new Vue( { el:"#app", data:{ name:"" }, methods:{ } })總結
以上所述是小編給大家介紹的Vue.js中 v-model 指令的修飾符詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!
新聞熱點
疑難解答