亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue3中的watch()怎么使用

發布時間:2023-04-25 14:57:51 來源:億速云 閱讀:128 作者:zzz 欄目:開發技術

今天小編給大家分享一下vue3中的watch()怎么使用的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

Vue.js 3是一款流行的JavaScript框架,它提供了watch()方法來監聽組件數據的變化。

一、Vue3中watch()的用法

在Vue.js 3中,watch()方法可以用于監聽單個數據、多個數據以及獲取到新舊值的情況。以下是watch()的基本使用方式:

import { watch, ref } from 'vue'

export default {
  setup() {
    const count = ref(0)

    watch(count, (newVal, oldVal) => {
      console.log(`New: ${newVal}, Old: ${oldVal}`)
    })

    return {
      count
    }
  }
}

在上面的代碼中,我們定義了一個ref類型的變量count,并使用watch()方法監聽count變量的變化。當count變量的值發生變化時,watch()回調函數將被執行,并將新值和舊值作為參數傳遞給該函數。

除了單個變量的監聽,watch()還可以監聽多個變量的變化,以及獲取舊值/新值的情況。

多個變量的監聽:

watch(
  [count1, count2],
  ([newCount1, newCount2], [oldCount1, oldCount2]) => {
    console.log(
      `New count1: ${newCount1}, Old count1: ${oldCount1},
      New count2: ${newCount2}, Old count2: ${oldCount2}`
    )
  }
)

獲取新舊值:

watch(
  [count1, count2],
  ([newCount1, newCount2], [oldCount1, oldCount2]) => {
    console.log(`New count1: ${newCount1}, Old count1: ${oldCount1}`)
    console.log(`New count2: ${newCount2}, Old count2: ${oldCount2}`)
  },
  { deep: true }
)

在這個例子中,我們傳遞了一個選項對象,用于開啟深層監聽。這種方式可以使watch()監聽的變量案例更加龐大復雜。

二、Vue3中watch()的作用

watch()方法在Vue.js 3中有著非常重要的作用,它可以幫助我們監聽數據的變化,并按需執行一些任務。

比如,在前端開發中經常遇到監聽用戶輸入框的情況,當用戶輸入內容變化時,我們需要實時更新展示相關的內容。比如,當輸入框內容為空時,隱藏某個組件,當輸入框內容不為空時,顯示某個組件。

import { watch, ref } from 'vue'

export default {
  setup() {
    const userInput = ref('')
    const showComponent = ref(false)

    watch(userInput, (newVal) => {
      if (newVal === '') {
        showComponent.value = false
      } else {
        showComponent.value = true
      }
    })

    return {
      userInput,
      showComponent
    }
  }
}

在上面的代碼中,我們監聽了用戶輸入框的變化,并根據用戶輸入框的值展示/隱藏組件。

watch()方法還可以實現更多復雜的功能,比如異步獲取數據并在數據更新時重新渲染頁面。

三、Vue3中新引入的監聽方法watchEffect

在Vue.js 3中,watchEffect()方法被引入。watchEffect()方法與watch()方法的行為類似,但沒有提供舊值和新值的訪問。它可以在數據變化時自動執行回調函數。

import { watchEffect, ref } from 'vue'

export default {
  setup() {
    const count = ref(0)

    watchEffect(() => {
      console.log(`Count is: ${count.value}`)
    })

    return {
      count
    }
  }
}

在上面的代碼中,我們定義了一個count變量,并使用watchEffect()方法監聽該變量的變化。每當count變量的值發生變化時,watchEffect()回調函數將被執行。

以上就是“vue3中的watch()怎么使用”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

札达县| 九龙坡区| 垦利县| 淮南市| 本溪| 紫阳县| 武穴市| 桐城市| 贵州省| 会昌县| 祁连县| 临海市| 社旗县| 雅江县| 和田市| 扬州市| 仁化县| 峨眉山市| 松桃| 保德县| 连城县| 乐平市| 蒙城县| 襄汾县| 宜君县| 楚雄市| 保山市| 苍山县| 赣州市| 漠河县| 八宿县| 浦北县| 西峡县| 西乌珠穆沁旗| 济南市| 绥棱县| 同仁县| 临桂县| 牡丹江市| 赫章县| 历史|