【发布时间】:2020-07-24 11:43:05
【问题描述】:
我不能使用mapActions 来指向我的模块的操作之一。根据文档,默认情况下模块操作在 Vuex 中没有命名空间,因此我的模块的操作应该像主存储操作一样可用。这是我的设置:
商店
import * as ModuleA from './ModuleA';
Vue.use(Vuex);
export default new Vuex.Store({
state: { ... },
getters: { ... },
mutations: { ... },
actions: { ... },
modules: {
A: ModuleA,
}
});
模块 A
let ModA = {
state: { ... },
getters: { ... },
mutations: { ... },
actions: {
FuncA: function({ commit }, id) {
//do something
},
},
});
export default ModA;
组件
<template>
...
</template>
<script>
import { mapGetters, mapActions } from "vuex";
export default {
data() {
},
methods: {
...mapActions(['FuncA']),
}
}
};
</script>
运行它,Vuex 给我以下消息:
未知动作类型:FuncA
我错过了什么?一定与 JS 不是我的专长有关。 :)
【问题讨论】:
-
尝试代替
import * as ModuleA from './ModuleA';,使用import ModuleA from './ModuleA'; -
就是这样。谢谢一堆。如果你想发帖,我会接受它作为答案。
-
我为新人添加了答案
标签: javascript vue.js vuex