您如何从Vue组件动作中调用Vuex模块动作?

时间:2019-03-26 08:07:39

标签: vuejs2 vuex

假设我有Vuex存储模块storeModuleName,并且我想从某个组件调用其动作。

组件:


export default {
  actions: {
   close() {
     dispatch('storeModuleName/storeModuleAction');
   },
  }
...

错误:

dispatch is not defined

1 个答案:

答案 0 :(得分:2)

您需要mapActions,mapActions可让您与模块内部的操作关联

import { mapActions } from "vuex";
export default {
  methods: {
    ...mapActions({
      storeModuleActionName: "storeModuleName/storeModuleAction"
    })
  },
  mounted(){
    this.storeModuleActionName();
  }
}

然后您可以使用storeModuleActionName作为常规方法,Check the link about mapActions