vue:watch如何監(jiān)聽多個變量

watch監(jiān)聽方法每次只能監(jiān)聽一個變量,單純的使用watch是無法監(jiān)聽多個變量的,但是我們通過computed計算屬性返回一個對象,然后使用watch監(jiān)聽這個計算屬性的方法,只要值改變就會觸發(fā)watch。

<template>
  <div class="demo">
    <a-button
      type="primary"
      @click="
        () => {
          this.isLace = !this.isLace
        }
      "
    >
      {{ isOnchange }}
    </a-button>
  </div>
</template>

<script>
export default {
  name: 'demo',
  data() {
    return {
      isLace: false,
      loading: false,
    }
  },

  computed: {
    isOnchange({ isLace, loading }) {
      //等同于 const { isLace , loading }=this
      return { isLace, loading }
    },
  },

  watch: {
    //只要有一個值改變都會觸發(fā)監(jiān)聽
    isOnchange: function (o, n) {
      // o改變后的值
      // ?n改變前的值
      console.log(o, n)
    },
  },
}
</script>

總結:watch監(jiān)聽多個變量也就是利用計算屬性computed把多個變量通過對象的形式返回,然后watch去監(jiān)聽computed計算屬性,只要值改變了就先觸發(fā)computed屬性計算,在觸發(fā)watch監(jiān)聽

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容