首页

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

seo达人

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

    }

}



利用计算属性的特性来实现,当依赖改变时,便会重新计算一个新值。


日历

链接

blogger

蓝蓝 http://www.lanlanwork.com

存档