watch监听中的deep以及immdiate

1 deep:深度监听

使用场景:如果是监听的是对象类型,当手动修改对象的某个属性时,发现是无效的,此时需要给监听器添加deep:true。

例如:

data:{
    obj:{
      a:1
    }
},
watch:{
    obj:{
      handler(newName,oldName){
          //执行代码
      },
      deep:true //为true,表示深度监听,这时候就能监测到a值变化。
    }
}

 

2 immdiate

使用场景:watch默认绑定,页面首次加载时,是不会执行的。只有值发生改变才会执行。如果想立即执行怎么办?

例子:

watch:{
2     name:{
3       handler(newName,oldName){
4           //执行代码
5       },
6       immediate:true //true就表示会立即执行
7     }
8 }

 

data:{ obj:{ a:1 } }, watch:{ obj:{ handler(newName,oldName){ //执行代码 }, deep:true//为true,表示深度监听,这时候就能监测到a值变化 } }

posted on 2022-02-02 15:09  xiaobailang  阅读(1442)  评论(0)    收藏  举报