Vue.js中 v-model 指令的修飾符詳解
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 指令的修飾符詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
相關文章
vue路由事件beforeRouteLeave及組件內定時器的清除方法
今天小編就為大家分享一篇vue路由事件beforeRouteLeave及組件內定時器的清除方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-09-09
vue3 reactive定義的引用類型直接賦值導致數據失去響應式問題
這篇文章主要介紹了vue3 reactive定義的引用類型直接賦值導致數據失去響應式問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06

