Vue3.0のさまざまなリスニング方法の包括的な概要

Vue3.0のさまざまなリスニング方法の包括的な概要

リスナー

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

1.ウォッチエフェクト

すぐに実行する、すぐに実行しない

リスニング、watchEffect はすぐに実行されます。即時性はなく、リスニング コンテンツを渡す必要はなく、コードの依存関係を自動的に認識し、パラメータを渡す必要はなく、コールバック関数を渡すだけで済みます。以前の値を取得することはできません。

リスナーを無効にする必要がある場合は、このリスナー関数をコールバックすることができます。

const stop = watchEffect(()=>{
        // console.log('num:',num.value);
        // console.log('num:',str.value);
      })

2.見る

すぐには実行されませんので、手動で即時実行を開始する必要があります。

// 聞きたい値番号を指定する
      ウォッチ(数値、(値、楕円)=>{
        // val: 新しい値、oval: 以前の値 // console.log(num.value);
        // console.log(val,oval);
      },{//2番目のパラメータobjimmediate,deep
      immediate:true//デフォルトでは、データが変更されたときのみ監視します。
      // 初回作成時は実行されません。true に設定すると初回実行されます。
  • refのデータソースを聞く
  • 反応的なデータソースを聴く

1.1 聴くための最初の方法

//statewatch(state,(val,oval)=>{ の下で ID とオブジェクトデータの変更を監視します。
        // console.log('id',val.id,oval);
      },{
        即時:true、
        deep:true//オブジェクト属性値の変更を検出するためにディープモニタリングをオンにします})

1.2 聞く2つ目の方法

// state.uname をリッスンする
      ウォッチ(()=>state.uname,(uname,p)=>{
        // uname の新しい値、p の古い値 console.log(uname,p);
      },{
        即時:true
      })

1.3 複数のデータソースをリスニングする

// 複数のデータ (id、uname) をリッスンします
    //()=>state.id は //object.values(toRefs(state)) と同等で、const stop = watch([()=>state.id,()=>state.uname],([id,uname],[oid,oname])=>{ を分解します。
        // id は新しく、oid は古い console.log('id',id,oid);
        // uname new、oname old console.log('uname',uname,oname);
      })

要約する

Vue3.0のさまざまなリスニング方法についての記事はこれで終わりです。Vue3.0のリスニング方法に関するより関連性の高いコンテンツについては、123WORDPRESS.COMの過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも123WORDPRESS.COMをよろしくお願いいたします。

以下もご興味があるかもしれません:
  • vue3.0 のウォッチ リスナーの例の詳細な説明
  • vue3.0 sfcのセットアップの変更について簡単に説明します。
  • vue2 vue3 での Echarts の詳細な使用方法
  • Vue3のいくつかの利点についての簡単な説明

<<:  Alibaba Cloud ServerにMySQLデータベースをインストールする方法の詳細な説明

>>:  Dockerコンテナ内でホストDocker操作を呼び出して実行する

推薦する

Linux カーネルの copy_{to, from}_user() に関する考察

目次1. copy_{to,from}_user() とは何か1. copy_{to,from}_u...

ウェブデザイナー職の面接でよくある質問と回答

1. ASP.NET Web アプリケーションのテンプレートとは何ですか? それらの違いは何ですか?...

MySQLが基礎データ構造としてB+ツリーを使用する理由

MySQL の基盤となるデータ構造が B+ ツリーであることは誰もが知っていますが、ではなぜ赤黒ツリ...

MySQL 上級学習ノート (パート 3): MySQL 論理アーキテクチャの紹介、MySQL ストレージ エンジンの詳細な説明

MySQL 論理アーキテクチャの概要他のデータベースと比較すると、MySQL は、そのアーキテクチャ...

MySQL フルテキスト インデックス、ジョイント インデックス、Like クエリ、JSON クエリのうち、どれが高速ですか?

目次クエリの背景1. クエリをいいね2. JSON関数クエリ3. 共同インデックスクエリ4. 全文イ...

Chrome デベロッパー ツールの詳細な紹介 - タイムライン

1. 概要ユーザーは、アクセスする Web アプリケーションがインタラクティブでスムーズに実行される...

スタートアップ企業が丹念に作り上げた優れたウェブデザイン17選

スタートアップ企業は、型破りな仕事のやり方、ユニークなビジネスモデル、特徴的な製品やサービス、パーソ...

Baidu デッドリンクファイルを作成する方法

Baidu によって定義されているデッドリンク形式には 2 種類あります。 1: XML形式のデッド...

Ubuntu16.04 インストール mysql5.7.22 グラフィックチュートリアル

VMware12.0+Ubuntu16.04+MySQL5.7.22 インストールチュートリアルの詳...

Vue-Routerのルート設定の詳しい説明

目次導入ルート内のオブジェクト属性パス: 文字列コンポーネント: コンポーネント | () =>...

CentOS 7 に MySQL 8.0.20 データベースをインストールするための詳細なチュートリアル

関連記事: MySQL8.0.20 インストール チュートリアルとインストールの問題に関する詳細なチ...

ウェブページで任意のフォントを使用する実践的な操作とデモ

以前、「Web ページにシステムに組み込まれていないフォントを埋め込む」という研究をしたことがありま...

Element-ui の組み込み 2 つのリモート検索 (ファジークエリ) の使用方法の説明

問題の説明フロントエンドリモート検索やファジークエリと呼ばれる種類のクエリがあります。 Ele.me...

Dockerでランナーコンテナを構成する方法

1. ランナーコンテナを作成する mk@mk-pc:~/Desktop$ docker run -d...

仮想マシンUbuntu 16.04がインターネットに接続できない問題の解決策

Ubuntu をインストールしたばかりですが、開いたときにネットワーク接続がありませんでした。右上隅...