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

新手上路,请多包涵

我的操作有以下设置:

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

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

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

阅读 774
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 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题