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 で指定された期間に数分ごとにタスク スケジュール crontab を自動的に実行する方法

まずコードを見てみましょう #/bin/sh datename=$(日付 +%Y%m%d-%H%M%...

Ubuntu 18.04 MySQL 8.0 のインストールと設定方法のグラフィックチュートリアル

この記事では、MySQL 8.0のインストールと設定方法を参考までに紹介します。具体的な内容は以下の...

列名を知らなくてもMySQLインジェクションを詳細に解説

序文最近、穴を掘ってスペースを作っているだけなので、心が空っぽになっているように感じます。テクノロジ...

MySQL 最適化の概要 - クエリエントリの合計数

1. COUNT(*) と COUNT(COL) COUNT(*)は通常、主キーに対してインデックス...

Vue2.0でデータの双方向バインディング機能をjsを使って実装する

Object.definePropertyの理解文法:オブジェクト.defineProperty(o...

Linuxファイルを表示するコマンドの詳細な説明

Linuxファイルを表示する方法ファイルの内容を表示するコマンド: catは最初の行からコンテンツを...

HTML 5.1 学習: 14 の新機能とアプリケーション例

序文ご存知のとおり、HTML5 はインターネット コミュニティ全体に標準を提供する組織である Wor...

JavaScript の 50 以上のユーティリティ関数の概要

JavaScript は多くの素晴らしい機能を備えています。この記事では、作業効率の向上とコードのデ...

MySQL並列レプリケーションの簡単な説明

1. 並列レプリケーションの背景まず、並列レプリケーションの概念はなぜ存在するのでしょうか? 1. ...

DockerでRedisをデプロイして起動する方法

DockerでRedisをデプロイするまずLinuxにDockerをインストールし、次にDocker...

MySQL の 4 つのトランザクション分離レベルを例を使って分析する

序文データベース操作では、同時データ読み取りの正確性を効果的に保証するために、トランザクション分離レ...

CSSはカラフルでスマートな影の効果を実現します

背景前景要素から特定の色を継承する影の効果を作成する方法を知りたいと思ったことはありませんか?方法に...

MySQL GTID マスターとスレーブの不一致を修復するソリューション

目次解決策1: レプリカを再構築する前提条件アドバンテージ欠点手順マスター奴隷解決策2: データ修復...

Vue印刷機能を実装する2つの方法の概要

方法1: npm経由でプラグインをインストールする1. npm install vue-print-...

バックエンド サーバー プロキシとして Nginx を推奨する理由 (理由分析)

1. はじめに実際のサーバーはパブリックインターネットに直接公開されるべきではありません。そうしな...