1 var vm=new Vue({ 2 data:{ 3 a:1, 4 b:{ 5 c:1 6 } 7 }, 8 watch:{ 9 a(val, oldVal){//普通的watch监听 10 console.log("a: "+val, oldVal); 11 }, 12 b:{//深度监听,可监听到对象、数组的变化 13 deep:true, 14 handler: function (newVal) { 15 console.log("b.c: "+val.c, oldVal.c);//但是这两个值打印出来却都是一样的 16 }, 17 } 18 } 19 }) 20 vm.a=2 21 vm.b.c=2
a是一个普通的值,当a的值变化时会被监听到,b是一个对象,不能直接像a那么写,需要深度监听才能捕捉到。
来源:https://blog.csdn.net/qq_17757973/article/details/78721553