Vueコンポーネント間のデータ共有の詳細な説明

Vueコンポーネント間のデータ共有の詳細な説明

1. プロジェクト開発において、コンポーネント間の最も一般的な関係は次の 2 つのタイプに分けられます。

1. 父と息子の関係

2. 兄弟関係

1.1 親コンポーネントと子コンポーネント間のデータ共有

親コンポーネントと子コンポーネント間のデータ共有は、次のように分けられます。

1. 親→子の共有データ

サブコンポーネント:

ここに画像の説明を挿入

親コンポーネント:

ここに画像の説明を挿入

2. 子→親の共有データ

子コンポーネントはカスタム イベントを使用して親コンポーネントとデータを共有します。サンプルコードは次のとおりです

サブコンポーネント:

ここに画像の説明を挿入

親コンポーネント:

ここに画像の説明を挿入

ページに結果が表示されます:

ここに画像の説明を挿入

1.2 兄弟コンポーネント間のデータ共有

vue2.xでは、兄弟コンポーネント間でデータを共有するためのソリューションはEventBusです。

EventBus の使用法:

  • eventBus.jsモジュールを作成し、Vueインスタンスオブジェクトを共有する
  • データ送信側で、bus.$emit('イベント名', 送信するデータ)メソッドを呼び出してカスタムイベントをトリガーします。
  • データ受信側では、bus.$on('イベント名', イベント処理関数)メソッドを呼び出してカスタムイベントを登録します。

例:

1. eventBus.jsモジュールを作成し、Vueインスタンスオブジェクトを共有する

ここに画像の説明を挿入

2. データ送信側で、bus.$emit('イベント名', 送信データ)メソッドを呼び出してカスタムイベントをトリガーします。

ここに画像の説明を挿入

3. データ受信側で、bus.$on('イベント名', イベント処理関数)メソッドを呼び出してカスタムイベントを登録します。

ここに画像の説明を挿入

要約する

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

以下もご興味があるかもしれません:
  • Vueのライフサイクルについて学びましょう
  • Vue3ライフサイクルフック機能の詳しい説明
  • Vueのライフサイクルについての簡単な説明
  • Vue ローカルコンポーネントデータ共有 Vue.observable() の使用
  • Vueは2つのコンポーネント間のデータ共有と変更操作を実装します
  • Vueのライフサイクルとデータ共有の詳細な説明

<<:  ウェブデザインのグラフィック構成と組版機能の紹介

>>:  Windows Server 2016 に Docker をインストールするプロセスと発生した問題

推薦する

配列をフラット化する 5 つの JavaScript の方法

目次1. 配列の平坦化の概念2. 実装1. 減らす2. toString と split 3. 結合...

MySQLの自己接続と結合の詳細な理解

1. MySQL 自己接続MySQL では、情報を照会するときに自分自身に接続 (自己接続) する必...

純粋な CSS で「テキストオーバーフローの切り捨てと省略」を実装するいくつかの方法

私たちの日常的な開発作業では、テキストのオーバーフロー、切り捨て、省略は、考慮する必要がある非常に一...

Linux manコマンドの具体的な使い方

01. コマンドの概要Linux には充実したヘルプ マニュアルが用意されています。コマンドのパラメ...

JavaScriptの浅いコピーと深いコピーについての簡単な説明

目次1. 直接譲渡2. 浅いコピー3. ディープコピー1. JSONオブジェクトメソッド2. 再帰コ...

Flask と Vue のフロントエンドとバックエンドを分離したプロジェクト展開のサンプル コード

以前、プロジェクトを開発しました。バックエンドのインターフェースを書くために Flask フレームワ...

Linux の MySQL 設定の変更が有効にならない問題の解決方法

背景AWS EC2 を使用するプロジェクトサービスがあります。セキュリティとパフォーマンスを考慮して...

MySQL 圧縮版 zip のインストールに関する問題の解決策

本日、MySQLの圧縮版をインストールする際に問題が発生しました。サービスが起動できず、2、3時間苦...

React tsx はランダムな検証コードを生成します

React tsxは参照用にランダムな検証コードを生成します。具体的な内容は次のとおりです。最近、t...

MySQL pt-slave-restart ツールの使い方の紹介

目次MySQL マスター スレーブ レプリケーション環境を設定する場合、マスター データベースとスレ...

テキストエリアのテキストをHTMLに変換する方法、つまり復帰改行について

説明: テキストエリアの値の改行を新しい行に変更しますコードをコピーコードは次のとおりです。 <...

イメージを再構築せずにDockerにポートを動的に追加する方法

操作中に Docker コンテナの公開ポートを変更または追加する必要がある場合がありますが、実行中の...

Vue 条件付きレンダリング v-if と v-show

目次1. 動詞-if 2. <template> で v-if を使用する3. キーを使...

CentOs システムで Python と yum をアンインストールするソリューション

事故の背景: 数日前、プロジェクトの必要性により、サーバーに python-mysql モジュールを...

MySQL Installer 8.0.21 インストール チュートリアル (画像とテキスト付き)

1. 理由新しいシステムに MySQL を再インストールする必要があったので、将来詳細を忘れた場合...