表单绑定
可以用 v-model 指令在表单 、 及 元素上创建双向数据绑定。它会根据控件类型自动选取正确的方法来更新元素。尽管有些神奇,但 v-model 本质上不过是语法糖。它负责监听用户的输入事件以更新数据,并对一些极端场景进行一些特殊处理。
单选 :
v-model
:checked
复选:
v-model=“数组”,获取所有选中的value值
v-model=“字符串”,获取的是true/false
下拉列表:
如果option没有添加value将获取标签之间的值text
如果添加value获取value的值
如果有value相同,并且是多选会一次性选择所有
文本域
修饰符
.lazy : 懒加载,当失去光标修改数据
.number : 默认input的值全部是String,将字符串转换成number类型
.trim : 去除前后的空格
<body>
<div id="app">
<!-- <input type="radio" checked="picked"> -->
<hr>
性别 : <input type="radio" v-model="gender" name="gender" value="男">男
<input type="radio" v-model="gender" name="gender" value="女">女
选择:{{gender}}
<hr>
<input type="checkbox" v-model="textChecked" @click="all" value="全选">全选
<hr>
<input type="checkbox" v-model="textChecked" value="html">html
<input type="checkbox" v-model="textChecked" value="css">css
<input type="checkbox" v-model="textChecked" value="js">js
<input type="checkbox" v-model="textChecked" value="JQury">JQury
<br>
{{textChecked}}
<hr>
<select name="" id="" v-model="textSelect" multiple>
<option value="张三">张三</option>
<option value="李四">李四</option>
<option value="王五">王五</option>
<option value="赵六">赵六</option>
</select>
{{textSelect}}
<hr>
<input type="checkbox"
v-model="toggle"
:true-value="value1"
:false-value="value2">
{{toggle}}
<hr>
<!-- 懒加载,失去光标后才会加载 -->
<input type="text" v-model.lazy="msg">
{{msg}}
<br>
<!-- 将输入的数字转化为num类型 -->
<input type="text" v-model.number="num">
<!-- 获得文本框中值的类型 -->
{{typeof num}}
<br>
<!-- 获取文本框中值的长度 -->
<input type="text" v-model.trim="msg">
{{msg.length}} <hr>
<select name="" id="">
<option v-for="(item,index) in seelctArr"
:key="index"
></option>
</select>
</div>
<script>
var app=new Vue({
el:"#app",
data:{
picked:true,
gender:"男",
checked:false,
textChecked:['html'],
textSelect:["张三","李四"],
text:"adsad",
value1:"同意",
value2:"不同意",
toggle:"同意",
msg:"",
num:0,
seelctArr:[{id:1001,name:"苹果"},{id:1002,name:"西瓜"},{id:1003,name:"榴莲"},]
},
methods: {
all:function(){
this.textChecked=true
},
select:function(){
this.textChecked=[]
}
},
})
</script>
</body>