How should I handle events in Vuex?

前端 未结 2 1132
广开言路
广开言路 2021-01-31 17:08

I am used to using a global event bus to handle cross-component methods. For example:

var bus = new Vue();
...
//Component A
bus.$emit(\'DoSomethingInComponentB\         


        
2条回答
  •  醉酒成梦
    2021-01-31 17:44

    Vuex and event bus are two different things in the sense that vuex manages central state of your application while event bus is used to communicate between different components of your app.

    You can execute vuex mutation or actions from a component and also raise events from vuex's actions.

    As the docs says:

    Actions are similar to mutations, the difference being that:

    • Instead of mutating the state, actions commit mutations.
    • Actions can contain arbitrary asynchronous operations.

    So you can raise an event via bus from actions and you can call an action from any component method.

提交回复
热议问题