v-model = v-bind + v-on,实现双向绑定需要是用v-bind和v-on,使用v-bind给input的value绑定message对象,此时message对象改变,input的值也会改变。但是改变input的value并不会改变message的值,此时需要一个v-on绑定一个方法,监听事件,当input的值改变的时候,将最新的值赋值给message对象。$event获取事件对象,target获取监听的对象dom,value获取最新的值。
代码如下
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<div id="app">
<h2>{{msg}}</h2>
<input type="text" :value="msg"@input="changeMsg"/>
</div>
<script src="../vue.js"></script>
<script>
const app=new Vue({
el:"#app",
data(){
return{
msg:'张三'
}
},
methods:{
changeMsg(e){
this.msg=e.target.value
console.log(e);
}
}
})
</script>
</body>
</html>