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") を追加する必要があります。

推薦する

HTML で余分なテキストを省略記号に変換する方法

HTML で余分なテキストを省略記号として表示したい場合は、いくつかの方法があります。 1行テキスト...

Nginx がサーバーの生存状態をパッシブにチェックする詳細な説明

導入定期的にヘルスチェックを送信して、アップストリーム グループ内の HTTP サーバーのヘルスを監...

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

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

mysql5.7.18 のインストール時にエントリが見つからない問題の解決方法

mysql5.7.18のインストール時に次の問題が発生しました: プログラム入力ポイントfesetr...

iOS スタイルの選択ボックスの開閉機能を実装するための純粋な CSS

1 効果デモアドレス: https://www.albertyy.com/2020/7/check...

MySQL5.7.03 上位バージョンから MySQL 5.7.17 への置き換えインストール プロセスと見つかった問題の解決策

1. インストール方法は? 1. [実行] -> [cmd] と入力して、小さな黒いウィンドウ...

JavaScript でオブジェクトのプロパティを削除する方法

1. 削除delete は、オブジェクトのプロパティを残さずに削除する唯一の方法ですが、その「代替」...

Tomcat9 のダウンロード、インストール、設定 + Eclipse への統合に関する詳細なチュートリアル

トムキャット公式サイトtomcatはローカルサーバーと同等であり、Webページを開くことができます設...

MYSQL クエリの効率を向上させる 10 の SQL ステートメント最適化テクニック

MySQL データベースの実行効率はプログラムの実行速度に大きな影響を与えます。データベースの効率的...

Nginx でアクセス頻度、ダウンロード速度、同時接続数を制限する方法

1. アクセス頻度、同時接続、ダウンロード速度を制限するために使用されるモジュールと命令の概要ngx...

Vue3.0 でページング コンポーネントを手動でカプセル化する方法

この記事では、vue3.0の手動カプセル化ページングコンポーネントの具体的なコードを参考までに紹介し...

Linux ログ表示方法 6 つのまとめ

バックエンド プログラマーは、さまざまな場所で Linux を扱います。Linux ログの読み方がわ...

MySQL外部キーの基本的な機能と使用方法の詳細な説明

この記事では、例を使用して、MySQL 外部キーの基本的な機能と使用方法を説明します。ご参考までに、...

Dockerコンテナの操作手順の概要と詳細説明

1. コンテナを作成して実行するdocker run -it --rm centos:latest ...