vue双向数据绑定原理
<div>
<input type="text" id="input">
<p id="text"></p>
</div>
<script>
/*
var inputDom= document.getElementById("input"); var textDom= document.getElementById("text");
inputDom.οninput=function(){ textDom.innerHTML= inputDom.value;
}
*/
var inputDom= document.getElementById("input");
var textDom= document.getElementById("text");
var obj={};
var val=""
Object.defineProperty(obj,"msg",{
get(){
return val;
},
set(newVal){
val=newVal;
inputDom.value= val; textDom.innerHTML=val;
}
})
inputDom.oninput=function(){
obj.msg = inputDom.value; console.log(obj)}
</script>
vue双向数据绑定
<div id="app">
h1>{{ msg }} </h1>
<ul>
<li v-for="v in arr"> {{v}} </li>
</ul>
<input type="text" v-model="msg">
<p>{{msg}} </p>
<input type="button" value="提交" @click="add">
</div>
<script>
new Vue({
el:"#app",
// model 数据模型
data:{
msg:"hello world",
arr:["aa","bb","cc"]
},
methods: {
add(){
alert(this.msg)
}
},
})
</script>