v-model的使用
v-model:
vue提供了v-model指令,用于在表单类元素上双向绑定.
input和textarea
可以用于input框以及textarea等.
注意:所显示的值只依赖于所绑定的数据,不再关系初始化时插入的value.
单选按钮
- 单个单选按钮,直接用v-bind绑定一个布尔值,用v-model是不可以的.
- 如果组合使用,就需要v-model来配合value使用,绑定所选中你的单选框的value值,此处所绑定初始值可以随意给
<div id="app5">
<input type="radio" id="one" value="One" v-model="picked">
<label for="one">One</label>
<input type="radio" id="two" value="Two" v-model="picked">
<label for="two">Two</label>
<br>
<span>{{picked}}</span>
</div>
<script>
var app5 = new Vue({
el:'#app5',
data:{
picked:''
}
})
</script>
复选框
- 单个复选框,直接用一个布尔值,可以用v-model,也可以用v-bind.
- 多个复选框,如果是组合使用,就需要v-model来配合value使用,v-model绑定一个数组,如果绑定是字符串,则会转化为true.与所有绑定的复选框的checked属性相对应.
<div id="app3">
<input type="checkbox" name="" id="checkbox" v-model="checked">
<label for="checkbox">{{checked}}</label>
</div>
<script>
var app3 = new Vue({
el:'#app3',
data:{
checked:false
}
})
</script>
<div id="app4">
<input type="checkbox" id="jack" value="Jack" v-model="checkedNames">
<label for="jack">Jack</label>
<input type="checkbox" id="john" value="John" v-model="checkedNames">
<label for="john">John</label>
<input type="checkbox" id="mike" value="Mike" v-model="checkedNames">
<label for="mike">Mike</label>
<br>
<span>{{checkedNames}}</span>
</div>
<script>
var app4 = new Vue({
el:'#app4',
data:{
checkedNames:[]
}
})
</script>
下拉框
- 如果是单选,所绑定的value值初始化可以为数组,也可以为字符串,有value直接有限匹配一个value值,没有value就匹配一个text值.
- 如果是多选,就需要v-model来配合value使用,v-model绑定一个数组,与复选框类似.
- v-model一定是绑定在select标签上.
<div id="app6">
<select v-model="selected">
<option disabled value="">请选择</option>
<option>A</option>
<option>B</option>
<option>C</option>
</select>
<span>{{selected}}</span>
</div>
<script>
var app6 = new Vue({
el:'#app6',
data:{
selected:''
}
})
</script>
绑定值
- 单选按钮,只需要v-bind给单选框绑定一个value值,此时,v-model绑定的就是他的value值.
- 复选框
- 下拉框,在select标签上绑定value值对option并没有影响.
修饰符
- lazy v-model默认是在input输入时实时同步输入框的数据,而lazy修饰符,可以使其爱失去焦点或敲回车后更新.
- number 将输入的字符串转化为number类型.
- trim 自动过滤输入过程中首尾的空格.
版权声明:本博客所有文章除特殊声明外,均采用 CC BY-NC 4.0 许可协议。转载请注明出处 Roxas Deng的博客!