検索
ホームページウェブフロントエンドVue.jsVue でグローバル コンポーネント通信にイベント バスを使用するにはどうすればよいですか?
Vue でグローバル コンポーネント通信にイベント バスを使用するにはどうすればよいですか?Jul 18, 2023 pm 03:36 PM
グローバルコンポーネントコミュニケーションvueで使用されるvue event bus

Vue は、インタラクティブなユーザー インターフェイスを構築するための人気のある JavaScript フレームワークです。フロントエンド開発プロセスを簡素化する多くの便利な機能を提供します。 Vue では、コンポーネントはアプリケーションを構築するための主要な要素です。場合によっては、異なるコンポーネント間で通信する必要があります。この場合、Vue のイベント バス メカニズムを使用して、グローバル コンポーネント通信を実現できます。

イベント バスは、コンポーネントがメッセージを送受信できる中央通信チャネルです。 Vue のイベント バスは空の Vue インスタンスです。これをグローバル インスタンスとして使用すると、すべてのコンポーネントが同じイベント バスを共有できます。

Vue でグローバル コンポーネント通信にイベント バスを使用する手順は次のとおりです。

  1. イベント バス インスタンスを作成します

Vue アプリケーションでは、イベント バス インスタンスを作成する必要があります。これは、Vue のコンストラクターを使用して実現できます。これを Vue プロトタイプにバインドして、すべてのコンポーネントがそれにアクセスできるようにします。

// main.js

import Vue from 'vue'

Vue.prototype.$bus = new Vue()
  1. 送信コンポーネントでのイベントの送信

イベントを送信するには、$emit メソッドを使用できます。このメソッドは、イベント名と渡されるデータという 2 つのパラメーターを受け取ります。

// SenderComponent.vue

export default {
  methods: {
    sendData() {
      this.$bus.$emit('event-name', data)
    }
  }
}
  1. 受信コンポーネントでのイベントのリッスン

イベントを受信するには、$on メソッドを使用できます。このメソッドは、イベント名とコールバック関数の 2 つのパラメーターを受け取ります。イベントが発行されると、コールバック関数が呼び出されます。

// ReceiverComponent.vue

export default {
  created() {
    this.$bus.$on('event-name', this.handleEvent)
  },
  methods: {
    handleEvent(data) {
      // 处理接收到的数据
    }
  }
}
  1. 受信コンポーネントが破壊されたときにイベントの登録を解除する

メモリ リークを避けるために、受信コンポーネントが破壊されたときにイベントの監視をキャンセルする必要があります。 。これは、$off メソッドを呼び出すことで実現できます。

// ReceiverComponent.vue

export default {
  beforeDestroy() {
    this.$bus.$off('event-name', this.handleEvent)
  },
  methods: {
    handleEvent(data) {
      // 处理接收到的数据
    }
  }
}

コンポーネント通信にイベント バスを使用する場合の重要な注意点は、イベント バスを乱用しないことです。コンポーネント間に親子関係や兄弟関係がある場合は、props と $emit を使用して通信することを優先する必要があります。イベント バスは、祖先と子孫の間、または直接関係のないコンポーネント間の通信にのみ使用してください。

つまり、Vue のイベント バス メカニズムは、グローバル コンポーネント通信のためのシンプルかつ効果的な方法を提供します。イベント バス インスタンスを作成すると、さまざまなコンポーネントでイベントを送受信できるようになります。イベントバスを使用する場合は、メモリリークを避けるため、イベントの監視を適切なタイミングでキャンセルするように注意する必要があります。

以上がVue でグローバル コンポーネント通信にイベント バスを使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Vuexとは何ですか?VUEアプリケーションでの州の管理に使用するにはどうすればよいですか?Vuexとは何ですか?VUEアプリケーションでの州の管理に使用するにはどうすればよいですか?Mar 11, 2025 pm 07:23 PM

この記事では、vue.jsの州管理図書館であるVuexについて説明します。 コアの概念(状態、ゲッター、突然変異、行動)を詳述し、使用法を示し、より単純な代替案よりも大きなプロジェクトの利点を強調します。 デバッグと構造化

vue.jsでカスタムプラグインを作成および使用するにはどうすればよいですか?vue.jsでカスタムプラグインを作成および使用するにはどうすればよいですか?Mar 14, 2025 pm 07:07 PM

記事では、開発、統合、メンテナンスのベストプラクティスなど、カスタムVue.jsプラグインの作成と使用について説明します。

VUEルーター(動的ルート、ネストされたルート、ルートガード)を使用して高度なルーティングテクニックを実装するにはどうすればよいですか?VUEルーター(動的ルート、ネストされたルート、ルートガード)を使用して高度なルーティングテクニックを実装するにはどうすればよいですか?Mar 11, 2025 pm 07:22 PM

この記事では、高度なVueルーターのテクニックを調べます。 動的なルーティング(パラメーターを使用)、階層ナビゲーション用のネストされたルート、およびアクセスとデータフェッチを制御するためのルートガードをカバーします。 複雑なルート社を管理するためのベストプラクティス

Vue.jsでツリーシェーキングを使用して未使用のコードを削除するにはどうすればよいですか?Vue.jsでツリーシェーキングを使用して未使用のコードを削除するにはどうすればよいですか?Mar 18, 2025 pm 12:45 PM

この記事では、vue.jsでツリーシェーキングを使用して未使用のコードを削除し、ES6モジュールを使用したセットアップ、Webパック構成、および効果的な実装のためのベストプラクティスの詳細について説明します。

さまざまなビルドターゲット(開発、生産)を使用するようにVue CLIを構成するにはどうすればよいですか?さまざまなビルドターゲット(開発、生産)を使用するようにVue CLIを構成するにはどうすればよいですか?Mar 18, 2025 pm 12:34 PM

この記事では、さまざまなビルドターゲットにVue CLIを構成し、環境を切り替え、生産ビルドを最適化し、デバッグ用のソースマップを確保する方法について説明します。

Vue.js(コンポーネントベースのアーキテクチャ、仮想DOM、リアクティブデータバインディング)の主な機能は何ですか?Vue.js(コンポーネントベースのアーキテクチャ、仮想DOM、リアクティブデータバインディング)の主な機能は何ですか?Mar 14, 2025 pm 07:05 PM

VUE.JSは、コンポーネントベースのアーキテクチャ、パフォーマンスのための仮想DOM、およびリアルタイムのUI更新用のリアクティブデータバインディングでWeb開発を強化します。

コンテナ化された展開にDockerを使用してVueを使用するにはどうすればよいですか?コンテナ化された展開にDockerを使用してVueを使用するにはどうすればよいですか?Mar 14, 2025 pm 07:00 PM

この記事では、VUEを使用してDockerを展開するために説明し、コンテナ内のVUEアプリケーションのセットアップ、最適化、管理、およびパフォーマンス監視に焦点を当てています。

どうすればVue.jsコミュニティに貢献できますか?どうすればVue.jsコミュニティに貢献できますか?Mar 14, 2025 pm 07:03 PM

この記事では、ドキュメントの改善、質問への回答、コーディング、コンテンツの作成、イベントの作成、財務サポートなど、Vue.JSコミュニティに貢献するさまざまな方法について説明します。また、オープンソースプロジェに参加することもカバーしています

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター