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