Vueでのバスの使用に関する詳細な説明

Vueでのバスの使用に関する詳細な説明

Vue バス メカニズム (バス)

vuex を使用するだけでなく、vue 内の親子以外のコンポーネント間の通信もバスを介して行うことができ、この 2 つは異なるシナリオに適用できます。

バスは、小規模なプロジェクトや、少数のコンポーネントでデータが使用されるプロジェクトに適しています。多くのコンポーネント間でデータが使用される中規模および大規模のプロジェクトには適していません。 Bus は実際にはパブリッシュ/サブスクライブ モデルです。Vue のカスタム イベント メカニズムを使用して、トリガーの場所で $emit を通じてイベントをパブリッシュし、リッスンする必要があるページで $on を通じてイベントをリッスンします。

Vuex は、中規模から大規模のプロジェクトや、複数のコンポーネント間でデータを共有する状況に適しています。

コンポーネント通信バスの使用

utilsファイルの下にbus.jsを作成します。

// ユーティリティ - bus.js
'vue' から Vue をインポートします
定数バス = 新しい Vue()
デフォルトバスをエクスポート

1. 値の受け渡し

メッセージを送信

'@/utils/bus' からバスをインポートします

最初のパラメータはフラグ変数であり、2 番目のパラメータは通信値です。

us.$emit('message', 'hello');

情報の受信

'@/utils/bus' からバスをインポートします

最初のパラメータはフラグ変数であり、2 番目のパラメータの e は通信値です。

バス.$on('メッセージ', (e) => {
 コンソール.log(e)
})

2. 呼び出し方法

あるコンポーネント (A) が別のコンポーネント (B) のメソッドを呼び出す

コンポーネントBの方法

'@/utils/bus' からバスをインポートします
マウントされた(){ 
 バス.$on('testA', this.testA) 
},
テストA() {
 console.log('コンポーネントAによって呼び出されました')
}

コンポーネント呼び出し

'@/utils/bus' からバスをインポートします
マウントされた(){
 バス.$emit('testA')
}

Vue での bus の使用に関するこの記事はこれで終わりです。vue bus の使用に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • VueはeventBusを使用してピアコンポーネント間の通信を実現します
  • Vueコンポーネント間の通信の非常に詳細な要約
  • vue2.0s で eventBus を使用して兄弟コンポーネント通信を実装するためのサンプル コード
  • Vue でのコンポーネント通信の 8 つの方法 (収集する価値があります!)
  • Vue2とVue3の兄弟コンポーネント通信バスの違いと使い方

<<:  Win10でのMySQL5.7.17無料インストール版の基本設定チュートリアルについて(画像とテキスト付き)

>>:  MySQLとOracleの違いを簡単に説明してください

推薦する

HTMLの基礎: HTMLの基本構造

HTML ハイパーテキスト ドキュメントの基本構造は、ドキュメント ヘッダーとドキュメント本体の 2...

現在のMySQL接続数を表示する方法の詳細な説明

1. 現在のすべての接続の詳細情報を表示します。 ./mysqladmin -uadmin -p -...

DockerにRedisをインストールし、パスワードを設定して接続する方法

Redis は分散キャッシュ サービスです。キャッシュは、大規模システムの開発やパフォーマンスの最適...

Angularルーティングの基礎の詳細な説明

目次1. ルーティング関連オブジェクト2. ルーティングオブジェクトの場所3. ルーティング構成4....

vue-cli でレスポンシブ レイアウトを実装する方法

フロントエンド開発を行うと、PCとモバイル端末の適応に必然的に直面することになります。このような問題...

CSS3 で transform を使用した場合のフォントぼかしの解決方法の詳細な説明

この質問は非常に奇妙なので、あまり多くを語らずにコードに直接進みます。 .g-ダイアログラッパー{ ...

MySQLデータベーストリガーの詳細な説明

目次1 はじめに2 トリガーの紹介3 トリガーを作成する4 トリガーを表示5. トリガーの削除6 結...

ウェブデザインレイアウトの理解

<br />矛盾が生じます。私たちのような小さな工房では、デザインとレイアウトは基本的に...

ECMAScript6 におけるマップマッピングの基本概念と一般的な方法

目次マッピングとは何かオブジェクトとマップの違いマップの共通メソッド宣言と初期化割り当てセットキー値...

Centos8 (最小インストール) Python3.8+pip のインストール方法に関するチュートリアル

Python8のインストールを最小化した後、Python3.8.1をインストールしました。オンライン...

mysql-5.7.21-winx64 無料インストール版のインストール - Windows チュートリアル詳細説明

1 ダウンロードアドレスは https://dev.mysql.com/downloads/mysq...

MySQLのGROUP BYステートメントを最適化する方法

MySQL で、id、a、b の 3 つのフィールドを持つ新しいテーブルを作成します。次のように、同...

MySQL ストアド プロシージャ関連の権限変更の問題

MySQL データベースを使用すると、他のユーザーが定義したストアド プロシージャを他のユーザーが変...

Vue ページに img 画像を導入する方法

HTMLを学ぶとき、画像タグ<img>は画像を導入します <img src=&qu...

Windows で MySQL のルート パスワードをリセットする方法

今日、WordPress がデータベースに接続できないことがわかりました。ウィンドウ サーバーにログ...