Vue中如何監(jiān)控某個(gè)屬性值的變化

2020-3-29    seo達(dá)人

Vue中如何監(jiān)控某個(gè)屬性值的變化?

比如現(xiàn)在需要監(jiān)控data中,obj.a 的變化。Vue中監(jiān)控對(duì)象屬性的變化你可以這樣:



watch: {

      obj: {

      handler (newValue, oldValue) {

        console.log('obj changed')

      },

      deep: true

    }

  }



deep屬性表示深層遍歷,但是這么寫會(huì)監(jiān)控obj的所有屬性變化,并不是我們想要的效果,所以做點(diǎn)修改:



watch: {

   'obj.a': {

      handler (newName, oldName) {

        console.log('obj.a changed')

      }

   }

  }



還有一種方法,可以通過computed 來實(shí)現(xiàn),只需要:



computed: {

    a1 () {

      return this.obj.a

    }

}



利用計(jì)算屬性的特性來實(shí)現(xiàn),當(dāng)依賴改變時(shí),便會(huì)重新計(jì)算一個(gè)新值。


分享本文至:

日歷

鏈接

個(gè)人資料

存檔