监视属性就是监控一个属性,然后针对属性的变化可以采取一些行动
<body><script type="text/javascript" src="https://unpkg.com/vue/dist/vue.js"></script><div id="app"><p> a的值是 {{a}} </p><button type="button" @click="a ++ ">点我</button></div><script >var vm = new Vue ({data : {a:1 ,b:2 ,c : {d:3,},},//这里监控的是awatch: {a:{handler(newvalue,oldvalue){console.log("a 发生了改变");}}}});vm.$mount("#app")</script></body>
这是一个watch的案例
运行了以上代码之后我们发现如下结果:
如上handler什么时候会被调用?
答案:当a发生变化的时候
还有另外一种写法调用watch属性
<body>
<script type="text/javascript" src="https://unpkg.com/vue/dist/vue.js"></script>
<div id="app">
<p> a的值是 {{ a }} </p>
<button type="button" @click="a ++ ">点我</button>
</div>
<script >
var vm = new Vue ({
data : {
a:1 ,
b:2 ,
c : {
d:3,
},
},
});
vm.$watch('a',{
handler(oldvalue,newvalue){
console.log("a发生了变化")
}
});
vm.$mount("#app")
</script>
</body>
如果使用以上方法,一定要注意vm.$watch 中传入两个变量,一个是’a’,一个是a的配置项,’a’一定要有引号
