グローバルなイベントバスを使用してコンポーネント間のメソッドを処理するのに慣れています。例:Vuexでイベントを処理する方法は?
var bus = new Vue();
...
//Component A
bus.$emit('DoSomethingInComponentB');
...
//Component B
bus.$on('DoSomethingInComponentB', function(){ this.doSomething() })
しかし、私は大規模なプロジェクトを構築しており、グローバルな状態管理が必要です。当然、私はVuexを使いたい。
このバスパターンはVuexで動作しますが、間違っているようです。私はVuexがの代わりにこのパターンの代わりにとお勧めしているのを見ました。
Vuexのコンポーネントでメソッドを実行する方法はありますか?私はこれにどのようにアプローチすべきですか?
バスとvuexを同時に使用することはOKパターンですか?ドキュメントに書かれていることと矛盾しているようですが、今のところロールします:)ありがとう! –
はい、私の意見では、ユースケースに応じて両方を一緒に使うことができます。 Vuexによるイベントバスのすべての機能を一度置き換えることができますが、単純なユースケース(2つのコンポーネント間の通信、別のコンポーネントのトリガ方法など)ではイベントバスを使用できます。すべてそれを変更すると、あなたはvuexを使うことができます。 – Saurabh
@ Blue_Dragon360私は同じ問題で苦労していました。そして、私は本質的にSaurabhと同じことを言うこの記事に出くわしました。 https://forum.vuejs.org/t/bus-vs-vuex/6679 –