Vue中如何监控某个属性值的变化

现在需要监控data中, obj.a 的变化。Vue中监控对象属性的变化你可以这样:

第一种方法

watch: {

      obj: {

      handler (newValue, oldValue) {

        console.log('obj changed')

      },

      deep: true

    }

  }

deep属性表示深层遍历,但是这么写会监控obj的所有属性变化,并不是我们想要的效果,所以做点修改:

watch: {

   'obj.a': {

      handler (newName, oldName) {

        console.log('obj.a changed')

      }

   }

  }

第二种方法,可以通过computed 来实现,只需要:

computed: {

    a1 () {

      return this.obj.a

    }

}

你可能感兴趣的:(vue.js,javascript,前端)