vue3.0 のウォッチ リスナーの例の詳細な説明

vue3.0 のウォッチ リスナーの例の詳細な説明

序文

ほとんどの場合、計算プロパティの方が適切ですが、カスタム リスナーが必要な場合もあります。そのため、Vue は、watch オプションを通じてデータの変更に応答するより一般的な方法を提供します。このアプローチは、データが変更されたときに非同期またはコストのかかる操作を実行する必要がある場合に最も役立ちます。

リスナーと計算プロパティの違い

計算プロパティは非同期操作を実行できませんが、リスナーは非同期操作を実行できます。これは、計算プロパティのアップグレードされたバージョンに相当します。

vue3 で watch を使用するにはどうすればいいですか?

基本的な使い方

<テンプレート>
  <h1>リスナーページを見る</h1>
  <p>通常のリスニングデータ: {{ num }}</p>
  <button @click="butFn">クリック</button>
</テンプレート>

スクリプト

'vue' から { ref, watch } をインポートします
// 必要な Vue3 の新機能をインポートし、必要に応じて setup() を呼び出すことを忘れないでください {
 
    定数 num = ref(0)
    // watch (監視するデータ、コールバック関数)
    ウォッチ(num, (v1, v2) => {
      // v1 は変更後の新しい値です // v2 は変更前の値です console.log(v1, v2)
      // 要点: 通常の関数をリスニングすると、変更前と変更後の値を取得でき、リスニング対象のデータは応答性がある必要があります})
    
    // 単一マシンイベント const butFn = () => {
      数値++
    }
    
     戻り値: { butFn, num }
}

複数の応答データを聴く

    定数 num = ref(0)
    定数num2 = ref(20)
    
    ウォッチ([num, num2], (v1, v2) => {
      // 保存された結果は配列であり、返される結果も配列形式の結果です // v1 は最新の結果の配列です // v2 は古いデータの配列です console.log('v1', v1, 'v2', v2)
    // 要約: 更新前後の値を取得でき、リスニング結果も配列データの順序と一致します})

リアクティブで定義された応答データをリッスンする

	定数obj = リアクティブ({
      メッセージ: 「奇妙でかわいい」
    })
    
   ウォッチ(obj, () => {
      // 最新の値のみ取得できます console.log(obj.msg)
    })

要約: オブジェクトをリッスンすると、リスナーのコールバック関数の 2 つのパラメータは同じ結果になり、最新のオブジェクト データを示します。 このとき、リッスンしたオブジェクトを直接読み取ることもでき、取得された値も最新のものになります。

リアクティブによって定義されたレスポンシブデータのプロパティをリッスンする

	定数obj = リアクティブ({
      メッセージ: 「奇妙でかわいい」
    })
    
	ウォッチ(() => obj.msg,(v1, v2) => {
        // v1 は監視データの最新値です // v2 は監視データの元の値です console.log(v1, v2)
        // 要約: オブジェクトのプロパティを監視する場合は、矢印関数を使用する必要があります // 監視するデータが少ないほど、パフォーマンスが向上します}
    )

設定オプションの使用

   定数obj = リアクティブ({
      メッセージ: {
        情報: 'ooo'
      }
    })
   ウォッチ(() => obj.msg,(v1, v2) => {
        コンソールログ(v1、v2)
      },
      {
        // コンポーネントの最初のレンダリングはimmediate: trueをトリガーします。
        // ディープモニタリングをオンにすると、オブジェクト内のデータが変更された場合も監視されます // 監視対象のデータが比較的長い式の場合は、関数を使用する必要があります // ただし、関数形式で記述した後は、内部のデータを変更できないため、ディープオプション deep: true を追加する必要があります
      }
    )

要約する

vue3.0 のウォッチ リスナー例の詳細な説明については、これで終わりです。vue3.0 のウォッチ リスナーに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vue2 と Vue3 でウォッチ リスナーを使用する方法
  • vueリスナーウォッチでこれを呼び出すときに未定義の問題を解決する
  • Vue 2.0 リスナーウォッチ属性コードの詳細な説明
  • Vue.js でのウォッチの使用例
  • Vueのウォッチリスナーの使い方を説明する記事

<<:  モバイルデバイス用のメタタグ設定の完全なリスト

>>:  MYSQL データベース GTID はマスタースレーブレプリケーションを実現します (超便利)

推薦する

レスポンシブデザインについての簡単な説明

1. レスポンシブ デザインとは何ですか?レスポンシブデザインとは、ウェブサイトの開発プロセス中に、...

MySQLデータベースのQPSとTPSの意味と計算方法

DB ベンチマーク テストを実行する場合、qps と tps はデータベースのパフォーマンスを測定す...

JavaScript は単一のリンクリストプロセス分析を実装します

序文:複数の要素を格納するために、配列は最も一般的に使用されるデータ構造ですが、配列には多くの欠点も...

MySQL 8.0.11 MacOS 10.13 のインストールと設定方法のグラフィックチュートリアル

MacにMySQLデータベースをインストールし、環境変数を設定する手順を参考までに記録します。具体的...

MySQL数千万の大規模データに対する30のSQLクエリ最適化テクニックの詳細な説明

1. クエリを最適化するには、テーブル全体のスキャンを避けてください。まず、where と orde...

Reactにおけるキーの役割の詳細な説明

目次質問: ボタンをクリックすると、スパンの色が赤に変わりますか?上記の問題を分析します。 2番目の...

React で複数の setStates が何回呼び出されるのでしょうか?

目次1. 2 つの setState を何回呼び出すのですか? 2. 2 つの setState の...

MySQL 5.7.18 のダウンロードとインストールの詳細な手順

MySql ダウンロード1. 公式サイトを開き、ダウンロード パスを見つけます。ダウンロード アドレ...

Reactフック入門チュートリアル

ステートフック例: 'react' から useState をインポートします。 関...

パーティショニングを使用して数十億のデータに対する MySQL データ処理を最適化する方法

MySQL が数千万のデータをクエリする場合、ほとんどのクエリ最適化の問題はインデックスを通じて解決...

JavaScript での正規表現の使用について詳しく学ぶ

目次1. 正規表現とは何か1. 正規表現の特徴2. 正規表現の使用2. 正規表現における特殊文字1....

ティックアニメーション効果を作成するための svg+css または js

以前、上司からログイン後にチェックマークを表示できるプログラムを作るように言われたのですが、Baid...

Javascriptでオブザーバーモードを実装する方法を教えます

目次オブザーバーパターンとは何ですか?シナリオシミュレーションコードの実装コードのリファクタリング要...

Vue はタブ ラベルを実装します (ラベルが自動スクロールを超える)

作成されたタブラベルがページの表示領域を超えると、タブラベルの距離だけ自動的にスクロールされます。ま...

Linux で環境変数 JAVA_HOME を変更/設定する方法について簡単に説明します。

1. 永久的な変更、すべてのユーザーに有効# vi /etc/プロファイル//キーボードの[Shi...