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サーバーを構築する方法

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

推薦する

el-select のスタイルを変更する方法の詳細な説明: popper-append-to-body と popper-class

elementUI が提供する el-select コンポーネントのスタイルを変更する方法この問題...

CSS3入力ボックスの実装コードはGoogleログインのアニメーション効果に似ています

CSS3を使用して、Googleログインページと同様の入力ボックスをアニメーション化します。効果1 ...

TeamCenter12 にログインする際の 404/503 問題の解決方法

TeamCenter12はアカウントのパスワードを入力し、ログインをクリックすると、404または50...

行の高さと垂直方向の配置に関する包括的な理解

前の単語line-height、font-size、vertical-align は、インライン要素...

nginx のスムーズな再起動を実装する方法

1. 背景サーバーの開発プロセスでは、新しいコードや構成をロードするためにサービスを再起動することが...

MySQLはトリガーを使用してデータベース内のテーブルの行制限を解決します。詳細な説明と例

MySQLはトリガーを使用してデータベース内のテーブルの行制限を解決します。詳細な説明と例最近のプロ...

MySQL で誤って削除したテーブル データを回復する方法 (必読)

バックアップがあれば、非常に簡単です。最新のバックアップ データを生成し、mysqlbinlog を...

JavaScript ウェブページ入門開発詳細説明

パート3: ❤バックエンドデータ受信を見落とす3つの方法❤ (おすすめ集)パート 2: Web フォ...

Vueコンポーネントのカスタムイベントの詳細な説明

目次要約する <テンプレート> <div> 要素 <h2>{{メ...

Nginx フォワード プロキシとリバース プロキシ、および負荷分散機能の構成コード例

この記事は主に、Nginx のフォワード プロキシとリバース プロキシ、および負荷分散機能の設定コー...

Vue el-date-picker 動的制限時間範囲ケースの詳細な説明

2つの状況がある1. 開始時間と終了時間が同じボックス内にあります(今月のみ限定) 2. 開始時間と...

モバイル開発チュートリアル: ピクセル表示の問題の概要

序文モバイル端末の開発の過程で、モバイル端末のディスプレイはデスクトップ端末のディスプレイとは一般的...

ウェブサイトデザインの基礎知識:初心者の方はぜひお読みください

今では多くの人がウェブサイト作成に参加していますが、ウェブサイトはどのように作成すればよいのでしょう...

TypeScript 名前空間のマージの説明

目次同じ名前の名前空間をマージする名前空間とその他の種類のマージ同じ名前の名前空間とクラスをマージす...

React refの使用例

目次refとは何かrefの使い方DOM要素に配置するクラスコンポーネントに配置する関数コンポーネント...