v-model只能用于 input 、select、 textarea这些表单元素上实现双向数据绑定。
所谓双向书数据绑定,指的是在vue对象中的data与其绑定的DOM元素的内容保持一致。两者无论谁被改变,另一个也相应改变。
因为表单元素展现数据的方式不同,在实现双向数据绑定时,vue会根据不同的控件类型自动选择正确的方式来更新数据。 控件的不同?
v-model input输入框 与textarea
input输入框与textarea都能正常显示数据的控件,在数据更新时直接以数据形式更新即可。
v-model 单选框
单选框,绑定v-model后,可以直接获取选项中的value值
v-model 选项列表
select列表分为单选列表,与多选列表。 单选列表绑定v-model后,可以实现列表数据的双向数据绑定。 多选列表绑定v-model后,value值绑定到数组中。
v-mode修饰符
vue为v-model设计了一些修饰符,一方便处理某些表单控件的常规操作。 .lazy 懒惰的 .number 数字 .trim 修饰(在js中一般代表去掉空格)
v-mode 修饰符 .lazy
默认情况下,绑定v-model的输入框内容改变的同时,vue的值也会改变。添加.lazy后,将会改变这种同步方式——input失去焦点后vue的值才会改变
v-model 修饰符 .number
自动将用户的输入值转为Number类型(如果转为NAN,则放弃类型转换)。