Vuex:如何从操作订阅事件

Her*_*nán 0 events store vuex

我对 Vuex 还很陌生,我想做的事情很简单,但我不知道典型的 Vuex 代码使用的最佳模式是什么。

我有一个初始化和存储Machine对象的操作,该对象也可以发出我想订阅的状态事件并收到商店用户的通知。

例如:此操作定义为:

createMachine({ commit, state }) {
      return state.m.createMachine().then(
        function (machineObject) {
          commit('setMachine', machineObject);
         }
      )
    }
Run Code Online (Sandbox Code Playgroud)

machineObject我想从商店内部监听创建的对象事件,并最终更新一个商店变量,我可以使用以下内容从组件中观看该变量:

computed: { getMachineStatus() { return this.$store.state.machineStatus } }
Run Code Online (Sandbox Code Playgroud)

我说清楚了吗?

谢谢。

Rex*_*Hsu 6

Vuex 有 subscribeAction 方法,参见vuex.subscribeAction

store.subscribeAction((action, state) => {
    console.log(action.type);
    console.log(action.payload);

    if (action.type === 'createMachine') {
        // do what you want there
    }
});
Run Code Online (Sandbox Code Playgroud)