リストレンダリングキーの原理と機能キーはノードを識別するために使用されます。キーがインデックスの値にバインドされている場合、問題が簡単に発生する可能性があります。 1. 逆順にデータを追加または削除すると、不要な実際の DOM 更新が発生します。ページ効果は問題ありませんが、効率に問題が 2 つあります。 2. 分解に入力クラスのDOMも含まれる場合、不正なDOM更新が発生します。インターフェースに問題があります。 問題のケース分析: ボタンをクリックしてオブジェクトをリストの先頭に追加します <div id="ルート"> <button @click.once="add">ラオ・リューを追加</button> <ul> <li v-for="(p, index) 人" :key="index"> {{p.name}}---{{p.age}} <入力タイプ="テキスト"> </li> </ul> </div> var vm = 新しい Vue({ el:"#ルート", データ:{ 人数: {id:"001", 名前:"张三", 年齢:15}, {id:"002", 名前:"李思", 年齢:16}, {id:"003", 名前:"王五", 年齢:17} ] }, メソッド: { 追加(){ const p = {id:"004", name:"老刘", age:20} this.persons.unshift(p) } }, }) これが示された効果です 入力ボックスに名前を入力すると 次にボタンをクリックして問題を観察します フォームの上部に Lao Liu が表示されますが、リストの内容は入力ボックスの内容と一致しません。 解決策: 主要原則の分析初期データ 初期データを取得し、それに基づいて仮想DOMを生成します。仮想DOMを実際のDOMに変換します。 新しいデータ 新しいデータ(Lao Liuを含む)を取得し、データに基づいて仮想DOMを生成します。仮想DOMを初期データの仮想DOMと比較します(liのテキスト情報は異なりますが、入力は同じです。仮想DOMにはデータがありません。ページに入力されたコンテンツは実際のDOMに保存されます)テキスト情報-新しいデータは初期データを置き換え、入力コンテンツは保持されます キーの役割要約するこの記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: CSS ポインターイベント属性の使用に関する詳細な説明
>>: W3C チュートリアル (6): W3C CSS アクティビティ
1. HTMLハイパーリンクによって開かれるウィンドウのサイズコードをコピーコードは次のとおりです...
まずMySQLソースをクエリするdocker 検索 mysql公式ウェブサイトにアクセスしてイメージ...
出典: https://blog.csdn.net/qq_44761243/article/deta...
1. シーケンステーブルを作成する テーブル `sequence` を作成します ( `name` ...
以前、Ubuntu 16.04 に MySQL をスムーズにインストールしました。今回、Ubuntu...
以下のコマンドのほとんどは、コンソール/ターミナル/シェルで入力する必要があります。 'su...
MySQL は、スウェーデンの会社 MySQL AB によって開発されたリレーショナル データベース...
1. システムインストールパッケージ yum -y インストール make gcc-c++ cmak...
簡単な説明<br />IE6および7では、一般的なaタグ(HTMLで記述され、DOM操作...
ミラーを探すDocker Hubのウェブサイトからイメージを検索できます。Docker Hubのウェ...
Grafana をインストールします。公式 Web サイトでは、直接インストールできる Ubuntu...
序文MySQL と Navicat をインストールした後、接続時に、ERROR 2059 (HY00...
その理由は、このタイプの Web ページが WAP と呼ばれるワイヤレス プロトコルから生成されたた...
1. 子コンポーネントのthis.$parent.eventを通じて親コンポーネントメソッドを直接呼...
目次Vue の keep-alive 組み込みコンポーネントの使用でもこのアルゴリズムが使用されます...