序文誰もが vue2 の watch API に精通している必要があります。vue2 の vue インスタンスには $watch メソッドがあり、sfc (署名ファイル コンポーネント) には watch オプションがあります。プロパティが変更されたときに目的の動作を実行するために使用できます。例えば:
しかし、watch API に加えて、vue3 では watchEffect API も追加されました。その使用方法を見てみましょう。 userID の依存関係を収集し、userID が変更されると、watchEffect コールバックが実行されます。 // [ドキュメント](https://v3.vuejs.org/api/computed-watch-api.html#watcheffect) を参考にした例 'vue' から {watchEffect, ref} をインポートします。 設定 () { 定数ユーザーID = ref(0) watchEffect(() => console.log(ユーザーID)) タイムアウトを設定する(() => { ユーザーID.値 = 1 }, 1000) /* * ログ * 0 * 1 */ 戻る { ユーザーID } } 時計とどう違うのですか?
それらの違いから、それぞれの長所と短所がわかります。ビジネスニーズに基づいて適切な選択を行うことができます。 watchEffect 上級監視を停止 watchEffect は次のようにリスナーを停止する関数を返します。 const stop = watchEffect(() => { /* ... */ }) // 後で 停止() 例は、上にリンクされている公式ドキュメントから引用したものです。 watchEffect がセットアップまたはライフサイクルに登録されている場合、コンポーネントがアンマウントされると自動的に停止します。 副作用を無効にする 副作用とは何ですか?予測できないインターフェース リクエストは副作用です。ユーザー ID を使用してユーザーの詳細を照会し、ユーザー ID を監視するとします。ユーザー ID が変更されると、リクエストが開始されます。これは非常に簡単で、ウォッチで実行できます。 ただし、データ要求プロセス中にユーザー ID が複数回変更された場合、複数の要求が行われ、最後に返されたデータによって、以前に返されたすべてのユーザー詳細が上書きされます。これはリソースの浪費につながるだけでなく、ウォッチコールバックが実行される順序を保証することもできません。そして、watchEffect を使用するとそれが実現できます。 無効化() onInvalidate(fn)に渡されたコールバックは、watchEffectが再実行されるか、watchEffectが停止されたときに実行されます。 ウォッチエフェクト(() => { // 非同期 API 呼び出し。操作オブジェクトを返します。const apiCall = someAsyncMethod(props.userID) onInvalidate(() => { // 非同期 API 呼び出しをキャンセルします。 apiCall.キャンセル() }) }) onInvalidate の助けを借りて、上記の状況に対してよりエレガントな最適化を行うことができます。 要約するVue3 での watchEffect の使い方についてはこれで終了です。Vue3 watchEffect の使い方についてさらに詳しく知りたい方は、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Linux での screen コマンドの使用方法の詳細な説明
>>: MySQLインデックスに関する重要な面接の質問をいくつか共有します
2 端揃えを実現する div+css レイアウトは、Web ページの組版でよく使用されます。この記事...
この記事では、WeChatミニプログラムで電子署名を実装するための具体的なコードを参考までに紹介しま...
0x0 テスト環境本社本番サーバーと支社バックアップサーバーはリモートデータバックアップが必要です...
SEO とセキュリティを考慮して、301 リダイレクトが必要です。以下の一般的な処理には Nginx...
1. OpenSSL公式サイト公式ダウンロードアドレス: https://www.openssl....
IE8には複数の互換モードがあります。 IE プラットフォームの設計者である Chris Wilso...
1. ユーザーにルーチン作成権限がある場合は、プロシージャ | 関数を作成できます。 2. ユーザー...
コンピューターにmyeclipse2017とidea2017がインストールされているため、ideaが...
この記事では、例を使用して、MySQL インデックスがソートに与える影響を説明します。ご参考までに、...
Windowsオペレーティングシステムでは、ポートの占有状況を照会し、ポートの占有状況をクリアするプ...
これは純粋に CSS のみを使用して作成されたエフェクトです。簡単に言うと、このエフェクトは画像処理...
ドクター紹介: Docker はコンテナ関連の技術です。簡単に言うと、さまざまなソフトウェアを実行で...
まず効果を見てみましょう: コード: 1.html <div class="user...
目次コンポーネントの再帰呼び出しレンダリングメソッドの使用プロジェクトに取り組んでいると、左側のメニ...
RocketMQ イメージを検索するには、Docker の hub.docker.com で検索する...