ホームページ ウェブフロントエンド jsチュートリアル イベントバスの非親子コンポーネントが相互に通信する方法

イベントバスの非親子コンポーネントが相互に通信する方法

Apr 16, 2018 pm 02:25 PM
event どうやって

今回は、イベントバスの非親コンポーネントと子コンポーネントが相互に通信する方法について説明します。次に、イベントバスの非親コンポーネントと子コンポーネントが相互に通信するための注意事項について説明します。一見。

場合によっては、親子関係にないコンポーネントも通信する必要があります。単純なシナリオでは、空の Vue インスタンスを中央の

event バスとして使用します:

var bus = new Vue()
// 触发组件 A 中的事件
bus.$emit('id-selected', 1)
// 在组件 B 创建的钩子中监听事件
bus.$on('id-selected', function (id) {
 // ...
})
ログイン後にコピー
より複雑な場合は、専用の

state 管理モードの使用を検討する必要があります。ここで vuex

が使用されます。 EventBus は、兄弟として機能するコンポーネント間の通信の仲介者です。

コード例:

<!DOCTYPE html>
<html>
<head>
<title>eventBus</title>
<script src="http://cdn.jsdelivr.net/vue/1.0.28/vue.min.js"></script>
</head>
<body>
<p id="todo-app">
<h1>todo app</h1>
<new-todo></new-todo>
<todo-list></todo-list>
</p>
<script>
var eventHub = new Vue( {
data(){
return{
todos:['A','B','C']
}
},
created:function () {
this.$on('add', this.addTodo)
this.$on('delete', this.deleteTodo)
},
beforeDestroy:function () {
this.$off('add', this.addTodo)
this.$off('delete', this.deleteTodo)
},
methods: {
addTodo: function (newTodo) {
this.todos.push(newTodo)
},
deleteTodo: function (i) {
this.todos.splice(i,1)
}
}
})
var newTodo = {
template:`<p><input type="text" autofocus v-model="newtodo"/><button @click="add">add</button></p>`,
data(){
return{
newtodo:''
}
},
methods:{
add:function(){
eventHub.$emit('add', this.newtodo)
this.newtodo = ''
}
}
}
var todoList = {
template:`<ul><li v-for="(index,item) in items">{{item}} \
     <button @click="rm(index)">X</button></li> \
     </ul>`,
     data(){
     return{
     items:eventHub.todos
     }
     },
     methods:{
     rm:function(i){
     eventHub.$emit('delete',i)
     }
     }
}
var app= new Vue({
el:'#todo-app',
components:{
newTodo:newTodo,
todoList:todoList
}
})
</script>
</body>
</html>
ログイン後にコピー
この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、PHP 中国語 Web サイトの他の関連記事に注目してください。

推奨読書:

JS がブラウザーでスクリプトを検出する方法

データ イベントを追加するためのポップアップ ポップアップ ボックス バインディング (詳細なステップバイステップの説明)

以上がイベントバスの非親子コンポーネントが相互に通信する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホット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ヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHP8.0のイベント処理ライブラリ:イベント PHP8.0のイベント処理ライブラリ:イベント May 14, 2023 pm 05:40 PM

PHP8.0 のイベント処理ライブラリ: Event インターネットの継続的な発展に伴い、PHP は人気のバックエンド プログラミング言語として、さまざまな Web アプリケーションの開発に広く使用されています。このプロセスでは、イベント駆動のメカニズムが非常に重要な部分になっています。 PHP8.0 のイベント処理ライブラリ Event は、より効率的で柔軟なイベント処理メソッドを提供します。イベント処理とは何ですか? イベント処理は、Web アプリケーションの開発において非常に重要な概念です。イベントは任意の種類のユーザー行にすることができます

Steam サマー セール - Valve が AAA ゲームの 95% オフを予告、バイラル ゲーム Palworld とコンテンツ警告の割引を確認 Steam サマー セール - Valve が AAA ゲームの 95% オフを予告、バイラル ゲーム Palworld とコンテンツ警告の割引を確認 Jun 26, 2024 pm 03:40 PM

Steam のサマー セールは、これまでいくつかの最高のゲームの割引を主催してきましたが、今年は Valve によるさらなるホームランが積み重なっているようです。 Steam サマーセールの割引ゲームの一部を紹介するトレーラー (以下をご覧ください) がリリースされました。

Python で Pygame の Event イベント モジュールを使用する方法 Python で Pygame の Event イベント モジュールを使用する方法 May 18, 2023 am 11:58 AM

Pygame のイベント モジュール Event (Event) は Pygame の重要なモジュールの 1 つで、一般的に使用されるマウス クリック、キーボード タップ、ゲーム ウィンドウの移動、ウィンドウのサイズ変更、特定のプロットのトリガー、終了など、ゲーム プログラム全体を構築する核心です。 . ゲームなど、これらは「イベント」とみなすことができます。イベントタイプ Pygame は、イベントを処理するために特別に使用される構造、つまりイベントキューを定義します。この構造は、キューの「早い者勝ち」の基本原則に従います。イベントキューを通じて、ユーザーの操作を順序立てて一度に処理できます。 -by-one方式(トリガーイベント)。次の表は、Pygame で一般的に使用されるゲーム イベントのリストです。 名前 説明 QUIT ユーザーがウィンドウの閉じるボタンを押した ATIVEEVENTPy

JavaScript で、ブラウザ ウィンドウのサイズが変更されたとき、これはどのイベントですか? JavaScript で、ブラウザ ウィンドウのサイズが変更されたとき、これはどのイベントですか? Sep 05, 2023 am 11:25 AM

window.outerWidth イベントと window.outerHeight イベントを使用して、ブラウザのサイズが変更されたときの JavaScript のウィンドウ サイズを取得します。例 次のコードを実行して、イベントを使用してブラウザのウィンドウ サイズを確認してみることができます -&lt;!DOCTYPEhtml&gt;&lt;html&gt; &lt;head&gt; &lt;script&gt;&am

Steam サマー セールのトレーラーで AAA ゲームのセールが 95% オフになることが予告され、Palworld、Stellaris、コンテンツ警告の値下げが確認されました Steam サマー セールのトレーラーで AAA ゲームのセールが 95% オフになることが予告され、Palworld、Stellaris、コンテンツ警告の値下げが確認されました Jun 26, 2024 am 06:30 AM

Steam のサマー セールは、これまでいくつかの最高のゲームの割引を主催してきましたが、今年は Valve によるさらなるホームランが積み重なっているようです。 Steam サマーセールの割引ゲームの一部を紹介するトレーラー (以下をご覧ください) がリリースされました。

Windows 10 の評価: ハン博士の視点 Windows 10 の評価: ハン博士の視点 Jan 05, 2024 pm 12:11 PM

win10 は非常に使いやすいシステムですが、時々システムに問題が発生するため、コンピューターに詳しくない多くのユーザーは問題を完全に解決するためにシステムを再インストールすることを選択します。このソフトウェアがどのようなものかを知りたい場合は、記事を見てみましょう。 win10 に関するハン博士の答え: これはかなり優れた win10 システムです。このソフトウェアは、基本的な知識がなくても、CD-ROM ドライブや USB メモリを必要とせず、簡単な操作とプロセスでシステムを再インストールすることができます。このソフトウェアは、システム バックアップ ミラー システムと復元ミラー システムという 2 つの非常に重要なシステム再インストール ツールも提供します。同時に、ワンクリックでシステムを再インストールしたり、USB ディスクを再インストールしたりするなど、ソフトウェアには他にも多くの機能があります。

テスラ、10月10日にロサンゼルスで開催される自動運転デモイベントへのロボタクシーの招待状を発送 テスラ、10月10日にロサンゼルスで開催される自動運転デモイベントへのロボタクシーの招待状を発送 Sep 27, 2024 am 06:20 AM

当初、テスラは以前にリークされたロボタクシーを今年8月に発表すると予想されていたが、最高経営責任者(CEO)のイーロン・マスクは、ロボタクシーの前面の美的変更と直前の準備に追加の時間が必要であることを理由にイベントを延期した。

テスラ・ロボタクシー、一部の株主に招待状を発送し、10月10日に実施することを明らかに テスラ・ロボタクシー、一部の株主に招待状を発送し、10月10日に実施することを明らかに Sep 26, 2024 pm 06:06 PM

当初、テスラは以前にリークされたロボタクシーを今年8月に発表すると予想されていたが、最高経営責任者(CEO)のイーロン・マスクは、ロボタクシーの前面の美的変更と直前の準備に追加の時間が必要であることを理由にイベントを延期した。

See all articles