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

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

推薦する

vue+antv でレーダーチャートを実装するためのサンプルコード

1. 依存関係をダウンロードするnpm インストール @antv/データセットnpm インストール ...

マップタグパラメータの詳細な紹介と使用例

マップ タグはペアで表示する必要があります。 <map> ....</map>...

Vue 3 での watch と watchEffect の新しい使い方

目次1. 時計の新しい使い方1.1. ウォッチの使用構文1.2. 複数の属性値を監視する1.3. 参...

CSS を使用して fullpage.js のフルスクリーン スクロール効果を実装するサンプル コード

最近 CSS を勉強していたとき、 2 つの CSS プロパティだけを使用して全画面スクロール効果を...

Mybatis ページングプラグイン pageHelper の詳細な説明と簡単な例

Mybatis ページングプラグイン pageHelper の詳細な説明と簡単な例動作フレームワーク...

MYSQLデータベーステーブル構造の最適化方法の詳細な説明

この記事では、例を使用して、MYSQL データベース テーブル構造を最適化する方法を説明します。ご参...

アクティビティページでの CSS3 アニメーション効果の適用

背景あっという間に忙しい一年が終わり、毎年恒例のイベントの時期がやってきます。お祭り気分を演出するに...

HTMLはシンプルで美しいログインページを作成します

まずは見てみましょう。 HTML ソースコード: XML/HTML コードコンテンツをクリップボード...

トップに戻るボタンを実装するJavaScript

この記事では、トップに戻るボタンを実装するためのJavaScriptの具体的なコードを参考までに紹介...

geo モジュールを使用して Nginx でホワイトリストを設定する例

元の構成: http { ...... limit_conn_zone $binary_remote...

Linux または Android でファイル システムを追加する属性インターフェイスを解析する方法

最初のもの: 1. 主要なヘッダーファイルを追加します。 #include <linux/of...

JavaScript でネットワーク速度をテストする方法

目次序文ネットワーク速度のフロントエンド判定原理のまとめ1. img を読み込むか Ajax リクエ...

Webフロントエンド開発におけるエラーを見つけるための基本的な考え方

WEB開発は主に2つのインタラクション(B/Sデータ)から構成されますブラウザ: 1html、css...

IDEA で mysql8.0.3 と mybatis-generator を使用する際に発生するバグ

1. プラグインを追加し、pomファイルの下に次の設定を追加します。 <!-- mybatis...

VueはEchartsを使用して3次元棒グラフを実装します

この記事では、Echartsを使用して3次元棒グラフを実装するVueの具体的なコードを参考までに共有...