このキー属性の機能は何ですか?まずは公式の説明を見てみましょう。
VNode についての私の理解を簡単に述べたいと思います。
例えば: <div class="title" style="color: red;">こんにちは世界</div> // 実際には Vue では次のように表現されます: 定数VNode = { タイプ: "div", 小道具: { クラス: "タイトル", スタイル: { 色: 「赤」 } }, children: "Hello World" // div に他のタグが含まれている場合は、同様に子に変換されます} どのような状況で f の挿入が最も効率的でしょうか? アイデア:
結論:最高のパフォーマンスを得るには、新しい VNode と古い VNode にキーを設定し、古い VNode と新しい VNode をキー値で比較して、追加または削除する必要がある VNode を見つける必要があります。他の VNode は可能な限り変更しないでください。新しい VNode と古い VNode を比較するプロセスが、diff アルゴリズムです。 Vue は実際にはキーがある場合とない場合の 2 つの異なるメソッドを呼び出します。ソース コードを見てみましょう: (packages\runtime-core\src\renderer) キーの場合は、patchKeyedChildren メソッドを実行します。 キー値がない場合は、patchUnkeyedChildren メソッドを実行します。 注意: キー値がない場合、リストが多すぎると、パッチが 1 つずつ実行され、パフォーマンスが大幅に低下します。キー値を追加すると、パフォーマンスの低下を大幅に防ぐことができます。 結論は: したがって、キー値は、DOM ツリーが diff アルゴリズムを実行するときに役割を果たします。 1 つの機能は、新しい Vnode と古い Vnode が同じであるかどうかを判断して、比較とレンダリングの次のステップを実行することです。 もう 1 つの機能は、コンポーネントを再利用できるかどうか、および再レンダリングする必要があるかどうかを判断することです。 Vue3 におけるキーの役割と動作原理に関するこの記事はこれで終わりです。Vue3 におけるキーの役割と動作原理の詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Alibaba Cloud Server で MySQL デュアルマシン ホットスタンバイを手動で実装する 2 つの方法
この記事の例では、計算機機能を実装するためのミニプログラムの具体的なコードを参考までに共有しています...
CSS によりプロセスナビゲーション効果を実現します。具体的な内容は以下のとおりです。 ::tip...
背景社内に新しいサーバーが追加され、2Tのハードディスクがマウントされました。sshでログイン後、マ...
目次概要1. 簡単な例1.サブコンポーネントの<ng-content>ディレクティブを使...
序文vsftp は使いやすく安全な FTP サーバー ソフトウェアです。システムユーザーまたは仮想ユ...
Windows Server 2016 アクティベーション キーを皆さんと共有したいと思います。wi...
この記事ではMySQL 8.0.15のインストールと設定方法を参考までに記録します。具体的な内容は以...
この記事では、MySQL の文字列インターセプト関連の機能を紹介します。具体的な内容は以下のとおりで...
目次1. 効果の実証2. 実装チュートリアル3. 最後に、完全なコードを添付します4. その他の右ク...
システムヘルプを表示help contents mysql> ヘルプコンテンツ; ヘルプ カテ...
win7 64 ビットで mysql-5.7.5-m15-winx64 をインストールして構成する方...
MySQL データベースでは、あいまいクエリが必要な場合にワイルドカードを使用します。まず、演算子と...
以下の情報はインターネットから収集したものです1. アンカーは、Web ページ作成におけるハイパーリ...
この記事では、例を使用して、MySQL でストアド プロシージャを作成し、ループでレコードを追加する...
Taobao用の空白スペースを作成します。 ブラウザページを縮小すると、コンテンツ領域は縮小されませ...