9
我习惯于使用全局事件总线来处理交叉组件方法。例如:我应该如何处理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代替事件总线的所有功能,但是对于一个简单的用例(两个组件之间的通信,另一个组件的触发方法等),您可以使用事件总线,而对于需要多个组件的一个变量的地方,所有修改它,你可以使用vuex。 – Saurabh
@ Blue_Dragon360我在同一个问题上挣扎,然后我遇到这个帖子,基本上和Saurabh说的一样。 https://forum.vuejs.org/t/bus-vs-vuex/6679 –