Vue从入门到实战:单行文本输入框
来自CloudWiki
基础用法
你可以用 v-model 指令在表单 <input>、<textarea> 及 <select> 元素上创建双向数据绑定。它会根据控件类型自动选取正确的方法来更新元素。尽管有些神奇,但 v-model 本质上不过是语法糖。它负责监听用户的输入事件以更新数据,并对一些极端场景进行一些特殊处理。
- v-model 会忽略所有表单元素的 value、checked、selected attribute 的初始值而总是将 Vue 实例的数据作为数据来源。你应该通过 JavaScript 在组件的 data 选项中声明初始值。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <div id = "app"> <input type="text" v-model="message" value="Hello Vue.js"> <p>message:{{message}}</p> </div> <script src="vue.js"></script> <script> var vm = new Vue({ el: '#app', data: { message: 'Vue.js无难事' } }); </script> </body> </html>
v-model指令提供了一个trim修饰符,可以帮我们自动过滤输入数据首尾的空白字符
<input type="text" v-model.trim="message" value="Hello Vue.js">
除了trim修饰符外,v-model还可以使用如下修饰符:
.lazy
默认情况下,v-model在每次input事件触发后将输入框的值与数据进行同步,如果使用了该修饰符,则会转变为使用change事件进行同步
.number
如果想自动将用户的输入数据转为数值类型,可以给v-model添加number修饰符。