Vueフロントエンドの効率的な開発のためのレンダリング手順をリストします

Vueフロントエンドの効率的な開発のためのレンダリング手順をリストします

v-for ディレクティブ

リストといえば、ループについても触れなければなりません。v-for 命令は、Vue でループを実装できる操作です。

v-for ディレクティブは、配列に基づいて繰り返しレンダリングするためのディレクティブであり、通常はリストやテーブルを表示するために使用されます。

文法:

<ul v-for="(配列内のキー、値、インデックス)">
<li>{{インデックス}}:{{値}}:{{キー}}</li>
</ul>

例:

<本文>
    <スタイル>
        * {
            マージン: 0px;
            パディング: 0px;
        }
        
        ul {
            リストスタイル: なし;
        }
    </スタイル>
    <!--データを走査-->
    <div id="アプリ">
        <!--項目: キー-->
        <!--値: 値-->
        <!--インデックス: 下付き文字-->
        <ul v-for="(item,value,index) 人">
            <li>{{インデックス}}:{{値}}:{{項目}}</li>
        </ul>
    </div>
    <script src="js/Vue.js"></script>
    <スクリプト>
        新しいVue({
            el: "#app",
            データ: {
                テキスト: 「私たちの旅は星と海へ!」
                arr: ["マカバカ", "うーん", "リトル・ドット", "トム・ブリド", "ディン・ディン・カー"],
                人々:
                    id: 1,
                    名前:「チョウ・ユンファ」
                    年齢: 65
                }
            }
        })
    </スクリプト>
</本文>

例からわかるように、v-for ディレクティブは文字列や配列を走査できるだけでなく、オブジェクト型を走査し、キー値やインデックスに従ってリストや表形式で表示することもできます。

計算されたプロパティ

一般的に、プロジェクト開発では、データを処理する必要があることがよくあります。基本的な式やフィルターを使用するだけでなく、Vue の計算プロパティを使用してプログラムを最適化し、複雑な計算を完了することもできます。

例: 追加と削除だけでなく、ファジー フィルタリングも実装します。

まず、v-for文を使ってテーブルにデータを表示します。

        <table class="table table-hover table-border">
            <tr class="info">
                <th>番号</th>
                <th>名前</th>
                <th>年齢</th>
                <th>はじめに</th>
            </tr>
            <tr v-for="リスト内の項目">
                <td>{{item.id}}</td>
                <td>{{アイテム名}}</td>
                <td>{{item.age+"岁"}}</td>
                <td>{{item.show}}</td>
            </tr>
        </テーブル>
    <スクリプト>
        新しいVue({
            el: "#app",
            データ: {
                「リスト」: [{
                    "id": 1,
                    "名前": "張三",
                    「年齢」: 18,
                    "show": "張三の紹介"
                }, {
                    "id": 2,
                    "名前": "李思",
                    「年齢」: 19,
                    "show": "李斯の紹介"
                }, {
                    "id": 3,
                    "名前": "王武",
                    「年齢」: 20,
                    "show": "王武の紹介"
                }, {
                    "id": 4,
                    "名前": "趙劉",
                    「年齢」: 21,
                    "show": "趙劉の紹介"
                }, {
                    "id": 5,
                    "名前": "孫巴",
                    「年齢」: 22,
                    "show": "Sun Ba の紹介"
                }]
            }
    </スクリプト>

計算属性を使用してファジークエリを実装する

        <p><input type="text" v-model="selectkey" placeholder="入力してください"></p>
            計算: {
                新しいリスト: 関数() {
                    var _this = これ;
                    _this.lists.filter(function(val) { を返します
                        val.name.indexOf(_this.selectkey) != -1 を返します。
                    })
                }
            }

計算されたプロパティを関数の形式で計算オプションに記述し、v-for 文で走査されたコレクションをフィルタリングされた newlist コレクションに変更し、文字列に部分文字列があるかどうかを判断してリスト コレクション内のデータをフィルタリングし、フィルタリングされたデータを v-for 走査に渡して表示します。

追加と削除の実装

        <p class="input-group">
            <span class="input-group-addon">番号:</span>
            <input type="text" v-model="id" placeholder="番号を入力してください" class="form-control">
        </p>
        <p class="input-group">
            <span class="input-group-addon">名前:</span>
            <input type="text" v-model="name" placeholder="お名前を入力してください" class="form-control">
        </p>
        <p class="input-group">
            <span class="input-group-addon">年齢:</span>
            <input type="text" v-model="age" placeholder="年齢を入力してください" class="form-control">
        </p>
        <p class="input-group">
            <span class="input-group-addon">情報:</span>
            <input type="text" v-model="show" placeholder="情報を入力してください" class="form-control">
        </p>
        <p class="input-group">
            <button @click="add()" class="btn btn-primary">情報を追加</button>
        </p>
<td>
	<button v-on:click="dels(item.id)" class="btn btn-primary">削除</button>
</td>
            メソッド: {
                追加: 関数() {
                    var 女の子 = {
                        "id": this.id,
                        "名前": this.name,
                        "年齢": this.age,
                        "表示": this.show
                    }
                    this.lists.push(女の子);
                },
                削除: 関数(o) {
                    // 添え字を削除し、いくつか削除します for (let i = 0; i < this.lists.length; i++) {
                        if (this.lists[i].id == o) {
                            this.lists.splice(i, 1);
                        }
                    }
                }
            }

メソッドを通じてイベントをバインドし、追加操作と削除操作を処理するために、2 つのボタン イベント メソッド (add と dels) を追加します。

追加する場合はpushメソッドを使用します。削除する場合はspliceメソッドを使用して添字のみで削除します。渡される値はidなので、正確性を保証するために、ループして添字を決定し、削除操作を実行する必要があります。

これは計算されたプロパティです。データを処理するために使用されます。

リスナーのプロパティ

計算プロパティに加えて、Vue はデータの処理とデータの変更の監視のための監視プロパティも提供します。

違いは、リスニング プロパティには 2 つのパラメーターが必要であることです。1 つは現在の値で、もう 1 つは更新された値です。

例:

時計:
        最初: 関数 (val) {
               this.full = val + ' ' + this.last
        },
        最後: 関数 (val) {
               this.full = this.first + ' ' + val
       }
} 

監視プロパティと比較すると、計算プロパティの方が明らかに優れているため、特別な事情がない限り、計算プロパティの使用を優先することをお勧めします。

要約する

効率的な Vue フロントエンド開発のためのリストレンダリング手順に関するこの記事はこれで終わりです。より関連性の高い Vue リストレンダリングコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vuejs 入門チュートリアル第1弾の詳しい解説(一方向バインディング、双方向バインディング、リストレンダリング、レスポンス機能)
  • VUEJS 実践: 基盤の構築とリストのレンダリング (1)
  • Vue の条件付きレンダリングとリストレンダリングの詳細な理解
  • vuejs v-for リストレンダリングの詳細な説明
  • Vue.jsはv-forに基づいてJSON配列オブジェクトリストデータのバッチレンダリングを実装します。
  • Vue リストページレンダリング最適化の詳細な説明
  • Vue.JS 入門チュートリアル: リストのレンダリング
  • Vue.js 学習チュートリアル リスト レンダリング 詳細説明
  • jQuery プラグインを Vue.js リスト レンダリングにバインドする正しい方法
  • Vueはリストアイテムのレンダリングイベントメソッドをリッスンします

<<:  ドメイン名、ポート、IPに基づいてnginx仮想ホストを構築する

>>:  JDBC を使用して MySQL を操作するための簡単な分析では、Class.forName("com.mysql.jdbc.Driver") を追加する必要があります。

推薦する

vue3.0 で要素を使用するための完全な手順

序文: vue3.0の要素フレームワークを使用します。要素はvue2.0をサポートしており、vue3...

2018 年にリリースされる Apache Spark 2.4 の新機能は何ですか?

この記事は、2018 年 9 月 19 日に Adob​​e Systems Inc で開催された ...

IE6 で幅と高さがおかしいバグ

図に示すように: しかし、IE6で表示すると、right:1px:になります。 IE6 には、幅と高...

Linuxの貼り付けコマンドの使い方

01. コマンドの概要貼り付けコマンドは各ファイルを列ごとに結合します。これは、2 つの異なるファイ...

Vue3でelement-plusを使用する方法の詳細な説明

目次1. インストール2. main.jsにインポートする3. 使用Vue3がリリースされてからしば...

docker+jenkins+node.js の自動デプロイメント環境をゼロから構築する方法

このケースはCentOS 7システムに基づいていますDockerの使用経験がある人に適していますLi...

CentOS で新しいユーザーを作成し、キーログインを有効にする方法

目次新しいユーザーを作成する新規ユーザーを承認する新規ユーザーのSSHキーログインを有効にする他のS...

Centos7.5でのIPアドレス設定の実装

1. IPアドレスを設定する前に、まずifconfigを使用してネットワークカード情報を表示し、ネッ...

CocosCreator Typescriptでテトリスゲームを作る

目次1. はじめに2. 解決すべきいくつかの重要な問題3.最後に書く1. はじめに最近、Cocos ...

ウィンドウとLinuxプロジェクトを展開する際のLinuxファイルパスに問題はありません

長い間ブログを書いていませんでした。先週、プロジェクトをテストしたところ、いくつかのバグが見つかりま...

MySQL に配列を保存するサンプルコードと方法

多くの場合、ストアド プロシージャを作成するときに配列がよく使用されますが、MySQL ではストアド...

IDEA で Docker プロジェクトをデプロイする手順

現在、ほとんどのプロジェクトが Docker 上にデプロイされ始めていますが、デプロイのプロセスはま...

Linux の netstat コマンドの詳細な紹介

目次1. はじめに2. 出力情報の説明3. netstatの共通パラメータ4. netstatネット...

純粋なJSを使用してセカンダリメニュー効果を実現します

この記事の例では、セカンダリメニュー効果を実現するためのJSの具体的なコードを参考までに共有していま...

Vue3+Vue-cli4 プロジェクトで Tencent スライダー検証コードを使用する方法

導入:従来の画像検証コードと比較して、スライダー検証コードには次の利点があります。サーバーは検証コー...