<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>监控数据的变化</title>
</head>
<script type="text/javascript" src="js/vue.js" ></script>
<body>
<div id="div1">
<button @click="doUpdate">修改属性</button>
<button @click="doAdd">添加属性</button>
<button @click="doDelete">删除属性</button>
<hr>
<h2>{{user.name}}</h2>
<h2>{{user.age}}</h2>
</div>
</body>
<script>
let vm = new Vue({
el: "#div1",
data:{
user:{
id:1,
name:'John',
}
},
methods:{
doUpdate(){
this.user.name = 'Tom';
},
doAdd(){
//this.user.age = 18; //通过普通方式为对象添加属性时vue无法实时监视到
//this.$set(this.user,'age',23); //可以实时监控更新信息
if (this.user.age) {
this.user.age++;
}else{
Vue.set(this.user,'age',23); //第二种方式
}
},
doDelete(){
if (this.user.age) {
Vue.delete(this.user,'age');
}
}
}
});
</script>
</html>
转载于:https://blog.51cto.com/3miao/2044546