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><h3>{{name}}</h3></pre> </div> <div> <input type="text" v-model.lazy="name"> <pre><h3>{{name}}</h3></pre> </div> <div> <input type="text" v-model.trim="name"> <pre><h3>{{name}}</h3></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:{ } } )
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。