我不能使用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'
可以使用任何别名直接导入默认导出。