表单控件绑定
基础语法
v-model 指令在表单控件元素上创建双向数据绑定。它会根据控件类型自动选取正确的方法来更新元素
v-model 并不关心表单控件初始化所生成的值。因为它会选择 Vue 实例数据来作为具体的值。
Message is: {
{ message }}
//引用vue
Multiline message is:{
{ message }}
Picked: { { picked }}
Selected: { { selected }}
多选框需要有一个数组存放选项值
Checked names: { { checkedNames }}
new Vue({ el: '...', data: { checkedNames: [] //需要有一个数组存放选项值 }})
多选列表
Selected: { { selected }}
输出的话如果不做处理,默认是输出一个数组,一个选项为一个数组元素,例如["A","B"]
动态选项
Selected: { { selected }}
new Vue({ el: '...', data: { selected: 'A', options: [ { text: 'One', value: 'A' }, { text: 'Two', value: 'B' }, { text: 'Three', value: 'C' } ] }}) Selected: A
首先v-for循环是遍历options数组,每一项是一个对象option,里面有text和value属性
然后将该DOM元素的value值绑定为option的value值,那么vue就会使用这个value值作为每一个选项的值(v-model并不关心表单控件初始化所生成的值。因为它会选择 Vue 实例数据来作为具体的值)
那么,遍历输出了3个选项,每个选项的value都是option.value,所以实现了生成动态选项的目的,相当于做了映射,通过一个value值
绑定value
对于单选按钮,勾选框及选择列表选项, v-model 绑定的 value 通常是静态字符串(对于勾选框是逻辑值)即绑定的是html元素的value值
有时我们想绑定 value 到 Vue 实例的一个动态属性上,这时可以用 v-bind 实现,并且这个属性的值可以不是字符串。
var app2 = new Vue({ el: '#ooo', data: { toggle: '', // 默认设置是'',勾选之后因为会切换到true-value的值,所以结果是true(按顺序切换) a: true, b: false } })
//验证:在chrome dev tools的console//页面打开初始化app2.toggle""//没勾选app2.togglefalse//已勾选app2.toggletrue
当页面打开初始化的时候,是空字符串""
当勾选的时候,vue会按顺序切换到绑定的值上面,true-value是排在前的,所以会切换到使用这个值,然后这个值对应的是a的true
当没勾选的时候,vue会切换到false-value,所以是b的false
var app2 = new Vue({ el: '#ooo', data: { selected:[] } })
//初始化的时候app2.selected[]//当选中的时候,输出是一个对象,所以需要再次调用对象的属性才能获取值app2.selectedObject {__ob__: Observer}__ob__: Observernumber: (...)get number: reactiveGetter()set number: reactiveSetter(newVal)__proto__: Object//当选中的时候app2.selected.number123
修饰符
.lazy
.number
.trim