Vue.js的表单输入绑定,用的是 v-model指令。v-model指令可以创建双向数据绑定。
v-model指令会根据控件类型自动选取正确的方法来更新元素。我们知道html的表单输入主要有一下类型,那么,我们就来看看v-model怎么实现的:
- 文本 <input >
- 多行文本 <textarea>
- 复选框?<input type="checkbox" >
- 单选按钮?<input type="radio" >
- 选择框<select>
Vue.js 的表单输入绑定 v-mode之文本和多行文本
v-model 会根据控件类型自动选取正确的方法来更新元素。
?????提示:可以修改代码后运行
Vue.js 的表单输入绑定 v-mode之复选框
复选框如果是一个为逻辑值,如果是多个则绑定到同一个数组:
?????提示:可以修改代码后运行
Vue.js 的表单输入绑定 v-mode之单选按钮
v-model单选按钮双向数据绑定:
?????提示:可以修改代码后运行
Vue.js 的表单输入绑定 v-mode之选择框
v-mode选择框双向数据绑定:
?????提示:可以修改代码后运行
修饰符
.lazy
在默认情况下,v-model
?在每次?input
?事件触发后将输入框的值与数据进行同步 。你可以添加?lazy
?修饰符,从而转变为使用?change
事件进行同步:
<!-- 在“change”时而非“input”时更新 --> <input v-model.lazy="msg" >
.number
如果想自动将用户的输入值转为数值类型,可以给?v-model
?添加?number
?修饰符:
<input v-model.number="age" type="number">
这通常很有用,因为即使在?type="number"
?时,HTML 输入元素的值也总会返回字符串。如果这个值无法被?parseFloat()
?解析,则会返回原始的值。
.trim
如果要自动过滤用户输入的首尾空白字符,可以给?v-model
?添加?trim
?修饰符:
<input v-model.trim="msg">