ホームページ > ウェブフロントエンド > Vue.js > vue3でwatch()を使用する方法

vue3でwatch()を使用する方法

WBOY
リリース: 2023-05-10 12:10:11
転載
10555 人が閲覧しました

Vue.js 3 は、コンポーネント データの変更を監視する watch() メソッドを提供する人気の JavaScript フレームワークです。

1. 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() によって監視される変数のケースがより大きく、より複雑になる可能性があります。

2. 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()このメソッドは、データを非同期的に取得したり、データが更新されたときにページを再レンダリングしたりするなど、より複雑な関数を実装することもできます。

3. 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()を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート