从另一个动作中调用一个动作

新手上路,请多包涵

我的操作有以下设置:

 get1: ({commit}) => {
  //things
  this.get2(); //this is my question!
},
get2: ({commit}) => {
  //things
},

我希望能够从另一个动作中调用一个动作,所以在这个例子中,我希望能够从 --- 中调用 get2() get1() 。这可能吗,如果可以,我该怎么做?

原文由 muttley91 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 865
2 个回答

您可以访问第一个参数中传递的对象中的 dispatch 方法:

 get1: ({ commit, dispatch }) => {
  dispatch('get2');
},

这在 文档 中有所介绍。

原文由 thanksd 发布,翻译遵循 CC BY-SA 4.0 许可协议

您可以通过第一个参数(上下文)访问调度方法:

 export const actions = {
  get({ commit, dispatch }) {
    dispatch('action2')
  }
}

但是,如果您使用命名空间,则需要指定一个选项:

 export const actions = {
  get({ commit, dispatch }) {
    dispatch('action2', {}, { root: true })
  }
}

原文由 17axaH 发布,翻译遵循 CC BY-SA 4.0 许可协议

推荐问题