表单控件绑定&双向数据绑定
v-model
基本用法
多选
<div id='box'>
<input type='checkbox' v-model='check'>
</div>
new Vue({
el:'#box',
data:{
check:true
}
})
通过v-model绑定了一个数组checkgroup,这样实现每个复选框被点击时,Vue会将该复选框的value值按顺序push到checkgroup中
<div id='box'>
<input type="checkbox" v-model="checkgroup" value="vue"/>vue
<input type="checkbox" v-model="checkgroup" value="react"/>react
<input type="checkbox" v-model="checkgroup" value="jquery"/>jquery
</div>
new Vue({
el:'#box',
data:{
checkgroup:[];
}
})
单选
<div id='box'>
<input type="radio" v-model="picked" value="vue" name="aaa"/>vue
<input type="radio" v-model="picked" value="react" name="aaa"/>react
<input type="radio" v-model="picked" value="jquery" name="aaa"/>jquery
</div>
new Vue({
el:'#box',
data:{
picked:""
}
})
修饰符
.lazy
取代
input
监听change
事件
<div id='box'>
<input v-model.lazy='mytext'>
<!-- 这里的mytext不会实时修改而是在input失去焦点的时候才会修改-->
{{mytext}}
</div>
new Vue({
el:'#box',
data:{
mytext:''
}
})
.number
输入字符串转为有效的数字
<input type="number" v-model.number="mynumber"/>
{{mynumber}}
.trim
输入首尾空格过滤
<input type="text" v-model.trim="myusername"/>
|{{myusername}}|