Ich bin es gewohnt, einen globalen Event-Bus zu verwenden, um Cross-Component-Methoden zu behandeln. Zum Beispiel:Wie sollte ich mit Ereignissen in Vuex umgehen?
var bus = new Vue();
...
//Component A
bus.$emit('DoSomethingInComponentB');
...
//Component B
bus.$on('DoSomethingInComponentB', function(){ this.doSomething() })
Allerdings baue ich ein größeres Projekt, das globale Zustandsverwaltung erfordert. Natürlich möchte ich Vuex verwenden.
Während dieses Busmuster mit Vuex funktioniert, scheint es falsch. Ich habe Vuex als Ersatz für dieses Muster empfohlen.
Gibt es eine Möglichkeit, Methoden in Komponenten von Vuex auszuführen? Wie soll ich das angehen?
Also die Verwendung von Bus und Vuex zur gleichen Zeit ist ein OK-Muster? Scheint zu widersprechen, was in den Dokumenten gesagt wird, aber ich werde damit für jetzt rollen :) Danke! –
Ja, meiner Meinung nach können Sie beide zusammen verwenden, abhängig vom Anwendungsfall. Einmal kann die gesamte Funktionalität von Event Bus by Vuex ersetzt werden, aber für einen einfachen Anwendungsfall (Kommunikation zwischen zwei Komponenten, Trigger-Methode einer anderen Komponente, etc.) können Sie Event-Bus verwenden, während für eine Stelle, wo Sie eine Variable durch mehrere Komponenten benötigen Wenn Sie alles ändern, können Sie vuex verwenden. – Saurabh
@ Blue_Dragon360 Ich hatte mit dem gleichen Problem zu kämpfen, dann stieß ich auf diesen Beitrag, der im Wesentlichen dasselbe wie Saurabh sagt. https://forum.vuejs.org/t/bus-vs-vuex/6679 –