VUE的watch监听对象

Posted lianchenxi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VUE的watch监听对象相关的知识,希望对你有一定的参考价值。

因为普通监听对象时,其实监听的该对象存放的堆地址,只有声明关键子字(deep: true)才能监听整个对象中所有属性变化;

当然如果监听的对象只有一两个属性,也可以直接分别监听其属性;
技术图片
//声明对象
data() {
  return {
    obj: {
      name: ‘黄国华‘
    }
  }
},
watch: {
  obj: {
    handler: function(newVal, oldVal) {
      console.log(newVal, oldVal);  //因为对象为引用类型数据,所以新旧值其实是同一个,没有差异
    },
    deep: true,  //关键字,只有声明deep: true才能监听到整个对象的变化
    immediate: true  //关键字, 此关键字声明为true时,监听对象的初始化就会触发监听事件
  }
},
//验证一下
mounted() {
  this.obj.name = ‘你变了o(╥﹏╥)o‘;
}
watch监听对象

 

以上是关于VUE的watch监听对象的主要内容,如果未能解决你的问题,请参考以下文章

vue3的监听函数watch基础

Vue watch监听 date中的变量 与 数组或者对象的数据变化

vue 中的computed 和 watch 监听

vue-watch监听动态表单的数据

深度监听(vue中watch的deep)

vue、watch功能对Array和Object的监听oldVal,val新老值一样的解决方案