vue指令:v-model
作用于:表单元素上(提供视图 | 页面上数据的修改空间)
底层原理:
input事件 + value值
<div id="app">
<input type="text" :value="msg" v-on:input="handle">
<!-- <input type="text" :value="msg" v-on:input="msg=$event.target.value"> -->
<div>{{ msg }}</div>
</div>
<script src="../vue_v2.6.14.js"></script>
<script>
const vm = new Vue({
el: '#app',
data: {
msg: "hello"
},
methods: {
handle(e) {
this.msg = e.target.value;
}
}
})
常见表单元素的双向绑定:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title></title>
</head>
<body>
<div id="app">
<!-- input -->
<input type="text" v-model="msg">
{{ msg }}
<hr>
<!-- select -->
<select name="" id="" v-model="selectMsg">
<option value="qd">前端</option>
<option value="hd">后端</option>
<option value="ui">UI</option>
</select>
{{ selectMsg }}
<hr>
<!-- 复选框 checkbox -->
<input type="checkbox" name="flower" value="carnation" v-model="checkMsg">康乃馨
<input type="checkbox" name="flower" value="rose" v-model="checkMsg">玫瑰
<input type="checkbox" name="flower" value="lily" v-model="checkMsg">百合
{{ checkMsg }}
<hr>
<!-- 单选框 radio -->
<input type="radio" name="男" value="0" v-model="radioMsg">男
<input type="radio" name="女" value="1" v-model="radioMsg">女
{{ radioMsg }}
<hr>
<!-- 文本域 -->
<textarea name="" id="" cols="30" rows="10" v-model="text"></textarea>
<div v-html="text"></div>
<hr>
</div>
<script src="../vue_v2.6.14.js"></script>
<script>
const vm = new Vue({
el: '#app',
data: {
msg: "lifen", // 与input框的value绑定
selectMsg: "ui", // 与option的vale绑定
// checkMsg: "", // 值为空字符串时,默认为false-未选中的状态
checkMsg: [], //
// radioMsg: [], //
radioMsg: '', //
text: '' //
},
methods: {
}
})
</script>
</body>
</html>