Vue Watch 深度监听对象属性值无效

一、watch 深度监听

watch: {
  formData: {
    deep: true,
    handler(nv) {
      console.log("对象发生改变", nv);
    },
  },
},

二、使用 $set 改变对象值

created() {
  // 直接赋值监听无效
  // this.formData.name = "这是修改的名称";
  // this.formData.title = "这是修改的标题";

  // this.$set 赋值
  this.$set(this.formData, "name", "这是修改的名称");
  this.$set(this.formData, "title", "这是修改的标题");
},

直接赋值 log 

Vue Watch 深度监听对象属性值无效_第1张图片

this.$set 赋值 log

Vue Watch 深度监听对象属性值无效_第2张图片

参考资料:vm.$set 

你可能感兴趣的:(Vue,watch,vue)