首页 > 解决方案 > 如何从同一操作异步调用提交和分派?

问题描述

我想在突变完成它的工作后执行一个动作。

突变(SOME_MUTATION)来自同一个商店,动作(test/testAction)来自一个模块

someAction(context, data) {
    context.commit('SOME_MUTATION', data) // this should be committed first
    context.dispatch('test/testAction') // this action should be dispatched after the above commit
}

注意:我不知道这是否是默认行为

标签: vuejs2vuexvuex-modules

解决方案


你会改变你someAction(context, data)的这个

someAction({commit, dispatch}, data) {
    call.action()
    .then(=> {
    commit('some_mutations',data)
    dispatch('another_action')
    }
}

using{commit, dispatch}将允许您使用两个内部操作而不必说context。因为动作只接受你作为单个对象传入的 2 个参数,所以你仍然可以传入data参数。


推荐阅读