Vueコンポーネント通信のさまざまな方法の詳細な説明

Vueコンポーネント通信のさまざまな方法の詳細な説明

コンポーネント通信に関しては、おそらく誰もがよく知っている 5 つのタイプがあります。

1. 父から息子へ

親コンポーネントはカスタム属性を通じて子コンポーネントに値を渡し、子コンポーネントはpropsを使用して値を受け取ります。

2. 息子から父へ

親コンポーネントは子コンポーネントタグのイベントをカスタマイズし、子コンポーネントは$emitを通じてカスタムイベントをトリガーし、パラメータを渡すことができる。

3. 親子関係のないコンポーネントの値の転送

eventBus イベント バス:

情報はeventBusを通じて公開および購読できます(誰でもアクセスできるイベントバスを作成します)

ここに画像の説明を挿入

4. ヴュークス

Vuex は、Vue.js アプリケーション専用に開発された状態管理モードです。集中型ストレージ マネージャーを使用して、プログラムのすべてのコンポーネントの状態を管理し、複数のコンポーネント間の通信を解決します。ただし、これは主に中規模および大規模プロジェクトで使用されるため、小規模プロジェクトでは肥大化して見えることになります。

5. 参照

refと·$refs·を追加することで、子コンポーネントを簡単に取得し、子コンポーネントのプロパティとメソッドにアクセスすることもできます。refsに関しては、詳細な使用法を記載した別の記事も書いています。refsの使用法

上記の 5 つに加えて、あまり一般的ではない 5 つのコンポーネント通信方法があります。

6. 子供

親コンポーネントでは、$childrenはコンポーネントコレクションを返します。子コンポーネントの順序がわかっている場合は、添え字演算を使用することもできます。

ここに画像の説明を挿入

7. $親

子コンポーネントではthis.$parent親コンポーネントを指します。子コンポーネントは親コンポーネントのデータを直接変更することはできません。 this.$parent を使用すると、親コンポーネントがデータを変更できるようになります。

例えば:

this.$parent.xxx=200

this.$parent.fn()

8. 提供と注入

ペアで表示されます: provide と inject はペアで表示されます

機能: 親コンポーネントが子孫コンポーネントにデータを渡すために使用します

方向:

  • 親コンポーネントに提供し、従属コンポーネントに渡すデータを返します
  • inject は、このデータを使用する必要のある子孫コンポーネントにデータを挿入します。 (コンポーネント階層の深さに関係なく)

ここに画像の説明を挿入

9. $属性

親コンポーネントが孫コンポーネントにデータを渡すために使用します。

10. $リスナー

孫コンポーネントが親コンポーネントにデータを渡すために使用します。

ここに画像の説明を挿入

要約する

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

以下もご興味があるかもしれません:
  • Vueコンポーネントのカスタムイベントの詳細な説明
  • Vue3 における親コンポーネントと子コンポーネント間の値の転送の詳細な説明
  • Vueコンポーネントの動的コンポーネントの詳細な説明
  • Vue イメージ ドラッグ アンド ドロップ ズーム コンポーネントの使用方法の詳細な説明
  • Vue でのルータービューコンポーネントの使用に関する詳細な説明
  • Vueコンポーネントの詳細な説明

<<:  MySQL5.7 並列レプリケーションの原理と実装

>>:  Docker5フル機能の港湾倉庫構築プロセス

推薦する

docker run後、ステータスは常にExitedになります

追加するdocker run -it -name test -d nginx:latest /bin...

Windows10システムにMySQL 5.7.17をインストールする

オペレーティング システム win10 MySQL は、公式 Web サイトからダウンロードした 6...

Dockerイメージ構築原理の分析(Dockerをインストールしなくてもイメージを構築できる)

イメージの構築は、DevOps プロセスにおいて非常に重要なプロセスです。一般的に、イメージの構築と...

Windows で Nginx を使用して https サーバーとリバース プロキシを構成する際の問題

リクエストロジックフロントエンド --> https経由でnginxをリクエストnginx -...

MySQL遅延スレーブを導入するメリットのまとめ

序文MySQL のマスター/スレーブ レプリケーション関係は、厳密には「同期」または「マスター/スレ...

角度でechartsマップを使用する詳細な説明

目次echartの初期化アプリベースチャートコンポーネントhtml CS app-base-char...

MySQLトリガーの簡単な使用例

この記事では、例を使用して MySQL トリガーの簡単な使用方法を説明します。ご参考までに、詳細は以...

bashコマンドの使い方の詳細な説明

Linux では、基本的に vi エディタのように「.sh」拡張子を持つテキストの処理と実行を記述す...

操作タイムアウトがないときにMySQLサーバーがアクティブに切断される問題を解決します

MySQL サービスを使用する場合、通常の状況では、MySQL のタイムアウト設定は 8 時間 (2...

CSS のフィルター属性とバックドロップフィルターの適用と違いの詳細な説明

フィルターとバックドロップフィルターにはいくつかの違いがあります。フィルターは現在の要素だけでなく、...

ReactでuseStateを使用する詳細な例

使用状態useState は、関数コンポーネント内で呼び出すことで、コンポーネントに内部状態を追加し...

CSS で縦書きテキスト配置を実装する方法 (概要)

HTML でのテキストのデフォルトの配置は水平ですが、特殊な場合にはテキストを垂直に配置する必要が...

ウェブデザイン:大量の素材の正確な配置と使用

3回の暗記により、大量の資材の正確な場所と目的を記憶でき、その使いやすさが向上します。 これは単なる...

WeChatアプレットがSMSログインを実装

目次1. インターフェース効果のプレビュー2.uViewのインストール3.uViewの設定3.1 m...

ウェブデザインに必須のツール: Firefox Web Developer プラグイン CSS ツールセットのチュートリアル

プラグインは Firefox ブラウザにインストールされます。 Web Developer プラグイ...