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

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

推薦する

MySQLで置換関数を実装するためのいくつかの実用的なシナリオ

REPLACE構文REPLACE(String,from_str,to_str)つまり、String...

JavaScript で DOM 要素を監視する MutationObServer の詳細

1. 基本的な使い方これは MutationObserver コンストラクターを通じてインスタンス化...

XHTML CSSを使用して正式なブログを書く

ブログの正式名称は「Web log」で、中国語で「ネットワークログ」を意味します。後にブログに短縮さ...

Vueのシンプルな状態管理ストアモードを理解する方法

目次概要1. store.jsを定義する2. store.js を使用するコンポーネント3. 成果を...

Vueでキャッシュされたページを管理する方法

目次問題1: 破壊1. 破壊する方法2. いつ破壊するか2.1 解決策1: route.queryを...

この記事では、VUE の複数の DIV とボタン バインディングの Enter イベントを実装する方法を説明します。

現在、OK ボタンをクリックしたときやキーボードの Enter キーを押したときに操作を実行するとい...

チェックボックスの不確定プロパティの使用の紹介

Windows XP でフォルダーのプロパティ ダイアログ ボックスを使用すると、フォルダーの属性カ...

HTTP および HTTP コラボレーション Web サーバー アクセス フロー図

Web サーバーは、独立したドメイン名を持つ複数の Web サイトを構築できるほか、通信経路上のトラ...

Vue スキャフォールディング学習プロジェクト作成方法

1. 足場とは何ですか? 1. Vue CLI Vue CLI は、Vue.js をベースにした迅速...

docker ストレージを使用して Exit を実行すると、サーバーへのファイルのアップロードが失敗する問題と解決策

1. 問題の説明Docker コンテナにインストールされているストレージが終了状態になっているため、...

MySQL の結合クエリとサブクエリの問題

目次複数テーブル結合の基本構文クロス結合と直積現象クロスコネクトデカルト積現象内部結合外部結合左外部...

Mysql 自己結合クエリ例の詳細な説明

この記事では、Mysql の自己結合クエリについて説明します。ご参考までに、詳細は以下の通りです。自...

CSS3 を使用したテキスト折り紙効果のサンプルコード

序文この記事では主に、CSS3 を使用してテキスト折り紙効果を実現する例を紹介します。これは、参考と...

JavaScriptタイマーの詳細な説明

目次簡単な紹介間隔の設定説明するパラメータ戻り値使用法タイムアウトの設定説明するパラメータ使用法:タ...

Linux で指定された期間に数分ごとにタスク スケジュール crontab を自動的に実行する方法

まずコードを見てみましょう #/bin/sh datename=$(日付 +%Y%m%d-%H%M%...