Vueのカスタムイベントコンテンツ配信の詳細な説明

Vueのカスタムイベントコンテンツ配信の詳細な説明

1. これは理解するのが少し複雑なので、原理を注意深く読んで自分で入力していただければ幸いです。

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
    <メタ文字セット="UTF-8">
    <title>タイトル</title>
</head>
<本文>

<div id="アプリ">
    <やること>
        <xian slot="xian" :title="タイトル"></xian>
        // 後ろから前へ読んで、トラバースされた値が v-bind に割り当てられ、v-bind の値が props 内の同じ名前の値に割り当てられることを理解することをお勧めします // [注意] v-on: バインドされたカスタム イベント名は自動的に小文字になります。大文字のイベント名を使用すると、次の this.$emit は大文字のままになり、バインドされません <yu slot="yu" v-for="(item,index) in items"
            v-bind:item="アイテム" v-bind:index="インデックス"
            v-on:remove="deleteItems(index)"></yu>
        // Vue インスタンスはデータとメソッドを View レイヤーにバインドし、View レイヤーはこれらのデータとメソッドを下位のコンポーネントに配布してバインドします。View は、Vue インスタンスのデータとメソッドを制御用のコンポーネントに転送することと同じです</todo>
</div>

<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.min.js"></script>
<スクリプト>
    Vue.component("todo",{
       テンプレート: '<div>\
                        <スロット名="xian"></スロット>\
                        <ul>\
                            <スロット名="yu"></スロット>\
                        </ul>\
                    </div>'
    });
    Vue.component("xian",{
        プロパティ: ['タイトル'],
        テンプレート: '<div>{{title}}</div>'
    });
    Vue.component("yu",{// props は、変数名と同様に、任意に定義できるパラメータ名です。v-bind は、データと定義された変数 props: ['item', 'index'] である変数にバインドします。
        // 現在のコンポーネント テンプレートのメソッドのみをバインドできます: '<li>{{index}}---->{{item}'',button @click="remove">delete</button></li>',
        メソッド: {
            削除: 関数 (インデックス) {
                // this.$emit カスタム イベント配布 // [注] this.$emit('event name') では、キャメルケースではなく、ケバブケース (短いダッシュの命名) を使用する必要があります。
                this.$emit('remove',index);
            }
        }
    });
    var vm = 新しい Vue({
        el: "#app",
        データ: {
            タイトル:「著者」、
            アイテム: ['塩漬けの魚がひっくり返る 1'、'塩漬けの魚がひっくり返る 2'、'塩漬けの魚がひっくり返る 3']
        },
        メソッド: {
            deleteItems: 関数 (インデックス) {
                console.log(""+this.items[index]"を削除しました);
                this.items.splice(インデックス、1);
            }
        }
    });
</スクリプト>

</本文>
</html>

実行結果:

ここに画像の説明を挿入

「削除」をクリックすると、任意の著者名を削除できます。ここでは 2 番目の著者名を削除をクリックすると、結果は次のようになります。

ここに画像の説明を挿入

2. 誰もが理解できるように、次の図を示します。

ここに画像の説明を挿入

おそらく、コンポーネントとインスタンス間のメソッドは相互運用できず、削除するノードはインスタンスの属性に属しているため、イベント配信を通じて、コンポーネントで定義されたメソッドがインスタンスで定義されたメソッドに転送され、その後ノードが削除される、という理解です。

要約する

この記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。

以下もご興味があるかもしれません:
  • Vueの「コンテンツ配信スロット」の最も包括的な概要の詳細説明
  • Vueのスロットコンテンツ配信で遊ぶ
  • Vueコンテンツ配信スロット(総合分析)
  • Vue学習ノート導入の詳細説明:コンポーネントコンテンツ配布(スロット)
  • Vuejs 11番目のコンポーネントのスロットコンテンツ配布例の詳細説明

<<:  Docker で PostgreSQL を実行し、いくつかの接続ツールを推奨する

>>:  数十億のデータに対するMySQLページングの最適化に関する簡単な説明

推薦する

nginx + php の「入力ファイルが指定されていません」の解決策

本日、ローカル開発環境で突然「入力ファイルが指定されていません」というエラーが発生してしまいました。...

Canonical が Flutter で Linux デスクトップ アプリを有効化 (推奨)

Google の Flutter の目標は、どのプラットフォームを使用していても、ネイティブの速度...

Web デザイン ヘルプ: Web フォント サイズ データ リファレンス

<br />内容はインターネットから転載したものです。どこから見つけたのか忘れてしまいま...

ブートストラップテーブルの使い方のまとめ

この記事では、bootstrapテーブルの使い方を参考までに紹介します。具体的な内容は次のとおりです...

Dockerコンテナとホスト間のデータ相互作用の概要

序文実稼働環境で Docker を使用する場合、多くの場合、データを複数のコンテナ間で永続化または共...

MySQL の sql_mode モード例の詳細な説明

この記事では、MySQL の sql_mode モードについて例を挙げて説明します。ご参考までに、詳...

CentOS8 - bash: 文字化けとその解決方法

この状況は通常、中国語言語パックがインストールされていないか、デフォルトの言語設定に問題があるために...

Dockerはコード検出プラットフォームSonarQubeを構築し、Mavenプロジェクトのプロセスを検出します

1 はじめに優れたコーディング習慣は優れたプログラマーが備えるべき資質ですが、コードの品質を保証する...

MySQL シリーズ データベース設計 3 つのパラダイム チュートリアルの例

目次1. データベース設計の3つのパラダイムに関する知識の説明1. デザインパラダイムとは何ですか?...

横スクロールウェブサイトデザインの概要

水平スクロールはあらゆる状況に適しているわけではありませんが、適切に行えば、Web サイトを他のサイ...

MySQL ストレージエンジン InnoDB の設定と使用方法の説明

MyISAM と InnoDB は、MySQL で最も一般的なストレージ エンジンです。前回の記事で...

MySQL データベースのホットスタンバイにおける問題点の分析

以前、MySQL データベースのデュアルマシン ホット スタンバイの設定方法を紹介しました。ご興味の...

MySQL アーキテクチャのナレッジポイントの概要

1. データベースとデータベースインスタンスMySQL の研究では、データベースとデータベース イン...

コード標準では、SQL ステートメントに結合が多すぎないようにする必要があるのはなぜですか?

無料ポイントインタビュアー:Linuxを使ったことはありますか?私:はいインタビュアー:メモリ使用量...

MySQLパーティションテーブルの詳細な説明

序文:パーティショニングはテーブル設計パターンです。一般的に、テーブル パーティショニングとは、条件...