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操作を呼び出して実行する

推薦する

Tomcat ディレクトリ構造の詳細な紹介

tomcat の解凍されたディレクトリを開くと、次のディレクトリ構造が表示されます。 1.Tomca...

MySQLの累積集計原理と使用例の分析

この記事では、例を使用して、MySQL 累積集計の原理と使用方法を説明します。ご参考までに、詳細は以...

ウェブページでよく使用される共有コードの完全なリスト(フロントエンドに必須)

コードをコピーコードは次のとおりです。 1. 新浪微博<a href="http:/...

マウスのドラッグ効果を実現するJavaScript

この記事では、マウスドラッグ効果を実現するためのJavaScriptの具体的なコードを参考までに紹介...

XHTMLにおけるH1タグの位置について

最近、H1 については多くの議論が行われていますが (記事のコンテンツ ページ内)、おおよそ 2 つ...

さまざまな解像度やブラウザでウェブページを適切に表示する方法

キーコードは次のとおりです。コードをコピーコードは次のとおりです。 html{高さ:100%; }コ...

熟練デザイナーの7つの原則(1):フォントデザイン

まあ、あなたはデザインの達人かもしれませんし、あるいはそれは大げさすぎるかもしれませんが、少なくとも...

Vueカスタム命令の詳細な説明

目次Vueカスタムディレクティブカスタムディレクティブフック機能出力関連属性アプリケーション例要約す...

Vue フロントエンド開発における階層的にネストされたコンポーネント間の通信の詳細な説明

目次序文例まとめ序文Vue の親子コンポーネントは、props を通じて親コンポーネントの値を子コン...

Ubuntu ブート自動起動サービス設定

Ubuntu でサービスを作成し、自動的に起動する方法: 1. [/lib/systemd/syst...

CSS3は赤い封筒を振る効果を実現します

赤い封筒の揺れ効果を実現するには要件があります。これまでやったことがないので、記録しておきます。ヘヘ...

CentOS7でルートパスワードをリセットする方法

レンガを移動するプロセスでは、さまざまな環境および構成の問題があり、毎回異なるエラーが発生します。 ...

ウェブページのCSSの優先順位について詳しく説明します

CSS の優先順位について話す前に、CSS とは何か、CSS が何に使用されるのかを理解する必要があ...

フロントエンド JavaScript ハウスキーパー package.json

目次1. 必須属性1. 名前2. バージョン2. 説明情報1. 説明2. キーワード3. 著者4. ...

Ubuntu Linuxシステムをインストールするときにハードディスクをパーティション分割する最も合理的な方法の詳細な説明

Windows または Linux オペレーティング システムをインストールするかどうかに関係なく、...