我对 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)
我说清楚了吗?
谢谢。
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)