vue の v-for ディレクティブはリストのレンダリングを完了します

vue の v-for ディレクティブはリストのレンダリングを完了します

この記事では、Vue でのリストのレンダリングについて簡単にまとめ、説明します。

リストのレンダリングは、要素のセットをバインドするオプションに基づいてv-forディレクティブを使用して行われ、レンダリング形式はカスタマイズできます。

1. リストの走査

最も基本的な使用例 1:

<!DOCTYPE html>

<html lang="ja">

<ヘッド>

    <メタ文字セット="UTF-8">

    <meta http-equiv="X-UA-compatible" content="IE=edge">

    <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">

    <title>リストのレンダリング</title>

    <script src="../../js/vue.js"></script>

</head>

<本文>

    <div id="アプリ">

        <ul>

            <li v-for="(name,index) 内の名前">

                {{インデックス}}-{{名前}}

            </li>

        </ul>

    </div>  

</本文>

<スクリプト>

    新しいVue({

        el:'#app',

        データ() {

            戻る {

                名前:['張三'、'李斯'、'王武'、'趙柳']

            }

        },

    })

</スクリプト>

</html>

上記の例では、 v-for ディレクティブを通じて、データ内の names 配列がバインドされ、配列内の要素がリストの形式でトラバースされます。ここで、name は現在の配列のトラバース要素を表し、index は配列内の現在の要素名のインデックスです。出力効果は次のようになります。

v-for は、オブジェクト、文字列、指定された数値などを反復処理することもできます。のように:

<!DOCTYPE html>

<html lang="ja">

<ヘッド>

    <メタ文字セット="UTF-8">

    <meta http-equiv="X-UA-compatible" content="IE=edge">

    <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">

    <title>リストのレンダリング</title>

    <script src="../../js/vue.js"></script>

</head>

<本文>

    <div id="アプリ">

        <!-- オブジェクトをトラバースする -->

        <ul>

            <li v-for="(プロパティ、キー) in 学生">

                {{キー}}:{{プロパティ}}

            </li>

        </ul>

        <!-- 文字列をトラバースする -->

        <オル>

            <li v-for="char in str">{{char}}</li>

        </ol>

        <!-- カスタム出力 -->

        <ul>

            <li v-for="10 の数値">

                {{数値}}

            </li>

        </ul>

    </div>  

</本文>

<スクリプト>

    新しいVue({

        el:'#app',

        データ() {

            戻る {

                学生:

                    名前:「李明」

                    年齢:23歳

                    住所:「大連」

                },

                str:'HelloWord'

            }

        },

    })

</スクリプト>

</html>

上記のコードの効果は次のとおりです。

2. Vueにおけるキーの役割

効果:

  • keyは仮想domオブジェクトの識別子です。データが変更されると、 vue新しいデータに基づいて新しい仮想 DOM を生成し、新しい仮想 DOM と古い仮想 DOM の違いを比較します。

差異比較ルール:

  • まず、古い仮想DOM内で新しい仮想DOMと同じkeyを見つけます
  • (1)仮想domの内容が変更されていない場合は、以前の実domを直接使用する
  • (2)仮想domの内容が失われた場合、新たな実domが生成され、ページ内の以前の実domが置き換えられる。
  • 新しい仮想 DOM と同じキーが古い仮想 DOM 内に見つからない場合は、新しい実際の DOM が作成され、ページにレンダリングされます。

3. リストフィルタリング

リスト フィルタリングは、リストを走査する前にリスト要素をフィルタリングし、表示要件を満たす次のような要素を選択します。

リスト内の「Zhang San」という名前の人を除外したいとします。(これは、computer または watch 属性を使用して実現できます)

<!DOCTYPE html>

<html lang="ja">

<ヘッド>

    <メタ文字セット="UTF-8">

    <meta http-equiv="X-UA-compatible" content="IE=edge">

    <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">

    <title>リストのレンダリング</title>

    <script src="../../js/vue.js"></script>

</head>

<本文>

    <div id="アプリ">

        <!-- リスト フィルター -->

        <!-- コンピュータ メソッド -->

        <ul>

            <li v-for="(name,intdex) in showNames">{{name}}</li>

        </ul>

        <!-- 監視メソッド -->

        <オル>

            <li v-for="(name,index) in displayName">{{name}}</li>

        </ol>

    </div>  

</本文>

<スクリプト>

    新しいVue({

        el:'#app',

        データ() {

            戻る {

                名前:['張三', '李斯', '王武', '趙劉'],

                表示名:[]、

            }

        },

        時計:

            名前:{

                即時:true、

                ハンドラ(val){

                    this.displayName=this.names.filter((n)=>{

                        n!='張三'を返す

                    })

                }

            }

        },

        計算: {

            // 'Zhang San'という名前の人を除外したい場合 showNames(){

                this.names.filter((n)=>{ を返す

                    n!="張三"を返す

                })

            }

        },        

    })

</スクリプト>

</html>

効果:

これで、vue の v-for ディレクティブを使用してリストのレンダリングを完了する方法についての記事は終了です。vue の v-for ディレクティブの詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vue の条件付きレンダリングとリストレンダリングの詳細な理解
  • Vue.js の条件付きレンダリング命令の簡単な分析
  • Vue 条件付きレンダリング v-if と v-show
  • Vue 基本チュートリアル: 条件付きレンダリングとリストレンダリング
  • Vueのリストレンダリングの詳細な説明
  • Vue リストのレンダリング、並べ替え、フィルタリングの詳細な説明
  • Vue 条件付きレンダリングとリストレンダリング

<<:  LinuxでDHCPサーバーを構築する方法

>>:  モバイルフロントエンド適応ソリューション(概要)

推薦する

Web でよく使われるフォントの紹介 (iOS および Android ブラウザでサポートされているフォント)

年末なので仕事も少なくなっています。私が何もせずにいるのを見ると、上司はきっと不快に思うでしょう。そ...

MySQLサービスの自動停止の解決策

この記事では主に、MySQL サービスの自動停止の解決策を紹介し、参考と学習のために共有します。一緒...

MySQL の count()、group by、order by の詳細な説明

最近、IM を実行するときに、これらの 3 つのキーワードを同時に使用したときに問題が発生しました。...

Linux カーネル デバイス ドライバーのメモリ管理に関する注意事項

/************************ * Linux メモリ管理 *********...

Angularコンポーネントライフサイクルの詳細説明(I)

目次概要1. フックの呼び出し順序2. onChangesフック3. 変更検出メカニズムとDoChe...

MySQL ストアド プロシージャ、カーソル、トランザクションの例の詳細な説明

MySQL ストアド プロシージャ、カーソル、トランザクションの例の詳細な説明以下は私が作成した M...

MySQL における Datetime と Timestamp の使用の概要

目次1. MySQL で現在の時刻を表現するにはどうすればよいでしょうか? 2. TIMESTAMP...

Linux システムで Java 環境変数を設定する方法

Java環境変数を設定するここで、環境変数は etc/profile に設定され、つまり、すべてのユ...

HTML 中国語文字エンコード標準の概要

HTML では、Web ページで使用されるエンコーディングを指定する必要があります。一般的な指定方法...

WindowsでのMySQLインストールチュートリアルの詳細な紹介

目次1. ダウンロードする前に理解しておくべき概念2. 必要なバージョンを選択する3. MySQLサ...

Docker イメージに基づいて Go プロジェクトをデプロイする方法と手順

知識への依存Go クロスコンパイルの基礎Dockerの基礎Dockerfileカスタムイメージの基本...

Vueバックグラウンド管理に多言語機能を追加する例

目次1.まず、main.jsページを設定します2. 対応するパスの下で言語パックを構成します。ここに...

Node.js を使用して C# のデータ テーブル エンティティ クラス生成ツールを作成する方法

Microsoft は T4 テンプレートを提供していますが、使用するのが非常に難しいと思います。ス...

ブラウザタブの左端に表示されるウェブサイトのアイコンを設定します

この文の目的は何ですか?コードをコピーコードは次のとおりです。 <link rel="...

Linux での i3 ウィンドウ マネージャーの設定と使用に関するチュートリアル

この記事では、Fedora 28 に i3 をインストールして簡単に設定する方法を説明します。 1....