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 1130例外、リモートログインできない解決策

目次質問: 1. リモートログイン権限を有効にする: 2. MySQLの権限を更新します。 3. テ...

トピックページデザインの 5 つの基本スキル (Alibaba UED Shanmu)

このトピックは、2012 年後半の社内共有です。まだ記事にはなっていませんが、春節が近づいているので...

Nginx の負荷分散構成、ダウンタイム発生時の自動切り替えモード

厳密に言えば、nginx には負荷分散バックエンド ノードのヘルス チェック機能はありませんが、デフ...

Vueインスタンスで$refsを使用する際の注意点

開発の過程では、インスタンスの vm.$refs(this.$refs) を使用して、ref で登録...

VUE uni-app でよく使用される API についての簡単な説明

目次1. ルーティングとページジャンプ2. インターフェース要約する1. ルーティングとページジャン...

検証コードケースのJavaScript実装

この記事では、検証コードの効果を実現するためのJavaScriptの具体的なコードを参考までに共有し...

開発効率を向上させる 20 の JavaScript ヒント

目次1. 配列を宣言して初期化する2. 合計、最小値、最大値を計算する3. 文字列、数値、オブジェク...

Linux での Python スクリプトの自動起動とスケジュール起動の詳細な手順

1. Pythonは起動時に自動的に実行されますPython の自己起動スクリプトがauto.pyで...

Vue.js での VNode の使用

VNodeとはvue.js には VNode クラスがあり、これを使用してさまざまな種類の vnod...

CSS と JS を使用して下線効果を実装する方法の例

この記事では、主に 2 種類の下線の動的効果について説明します。1 つ目は、ホバーすると X 軸が内...

IDEA 2020 で Tomcat サーバーを構成するための詳細な手順

IDEA 2020 で Tomcat を構成する手順は次のとおりです。最初のステップはTomcatを...

MySQL 外部キー制約の無効化と有効化コマンド

MySQL 外部キー制約の無効化と有効化: MySQL 外部キー制約が有効になっているかどうかは、グ...

MySQLは集計関数を使用して単一のテーブルをクエリします

集計関数データセットに作用し、そのデータセットの値を返します。 count: 統計結果のレコード数。...

Navicat でストアド プロシージャ、トリガーを作成し、カーソルを使用する簡単な例 (画像とテキスト)

1. テーブルを作成する<br /> まず、2 つのテーブル (users テーブルと...

Docker の 4 つのネットワーク タイプの主な例

4 つのネットワーク タイプ:なし: コンテナのネットワーク機能を一切設定しません。--net=no...