双向绑定 v-model
- vue 提供了v-model 双向数据绑定指令,用来辅助开发者在不操作DOM的前提下,快速获取表单的数据
注意: 只有表单元素使用v-model才有意义, 常见的有表单元素: input,textarea,select
<div id="app">
<p> 用户名是:{{username}}</p>
<input type="text" v-model="username">
<input type="text" :value="username">
<select name="" id="" v-model = "city">
<option value="">请选择城市</option>
<option value="1">北京</option>
<option value="2">上海</option>
<option value="3">广州</option>
<option value="4">深圳</option>
</select>
</div>
<script>
const vm = new Vue({
el:"#app",
data:{
username:"zhangshan",
city:'2'
},
})
</script>
- v-model 修饰符 常用的有以下修饰符
.number 自动将用户的输入值转为数字类型
.trim 自动过滤用户输入的首尾空白字符
.lazy 在"change" 时而非"input"时更新
<div id="app">
<input type="text" v-model.number="n1">+<input type="text" v-model.number="n2"> = <span>{{n1+n2}}</span>
<hr>
<input type="text" v-model.trim="username">
<button @click="showName">获取用户名</button>
<hr>
<input type="text" v-model.lazy="username">
</div>
<script>
const vm = new Vue({
el:"#app",
data:{
username:"zhangshan",
city:'2',
n1:1,
n2:2
},
methods:{
showName(){
console.log('用户名是"${this.username}"')
}
}
})
</script>