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の違いを簡単に説明してください

推薦する

MySQL killコマンドの実行原理の詳細な説明

目次キル命令実行原理命令実行特性クエリ実行の強制終了の原則接続終了の実装原則中断される可能性はありま...

Python3.6-MySql 挿入ファイルパス、バックスラッシュをなくす解決策

以下のように表示されます。上記のように、置き換えるだけです。 Python3.6-MySql でファ...

MySQL のデフォルトのストレージ エンジンを変更する方法

mysql ストレージ エンジン: MySQL サーバーはモジュール スタイルを採用しており、特にス...

シャドウソックスを使用してLAN透過ゲートウェイを構築する

目次dnsmasq をインストールして設定するChinaDNS をインストールして設定するshado...

Tomcatディレクトリ構造の詳細な説明

目次ディレクトリ構造binディレクトリconfディレクトリlibディレクトリwebapps ディレク...

MySQL 結合バッファの原理

目次1. MySQL 結合バッファ2. JoinBufferCacheストレージスペースの割り当て3...

Docker Toolboxを完全にアンインストールする方法

Docker Toolbox は、Windows 10 Professional より前のバージョン...

格納可能なセカンダリメニューを実装するための JavaScript

JavaScriptで格納可能なセカンダリメニューを実装するための具体的なコードは参考までに。具体...

JSは星を消すケースを実現する

この記事の例では、星を消すためのJSの具体的なコードを参考までに共有しています。具体的な内容は次のと...

Vue ダイナミック バインディング アイコンの完全な手順

0 アイコンと画像の違いアイコンは文字であり、画像はバイナリ ストリームです。つまり、画像はアイコン...

JavaScript コードベースをよりクリーンにする 5 つの方法

目次1. 短絡や条件文の代わりにデフォルトのパラメータを使用する2. 複数の条件の処理3. スイッチ...

CSS でデフォルトのスタイルをクリアし、共通のスタイルを設定する方法

CSS デフォルトスタイルをクリア通常の明確なデフォルト スタイル: *{ マージン:0; パディン...

Centos7 で ZooKeeper3.4 ミドルウェアを構築するための一般的なコマンドの概要

1.ダウンロードして解凍する1. Zookeeperの紹介分散サービス フレームワークとして、Zoo...

JavaScript配列の一般的なメソッドの詳細な説明

目次元の配列を変更しない方法1. 連結文法:パラメータ:戻り値: 2. 参加する文法:パラメータ:戻...

スタックメニューを実装するためのjQueryプラグイン

jQueryプラグインの毎日の積み重ねメニュー、参考までに、具体的な内容は次のとおりです。スタックメ...