vue watch深度监听对象及对应值的变化

 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

猜你喜欢

转载自www.cnblogs.com/leelee/p/8965840.html
今日推荐