1👍
✅
I am glad this solved your problem:
So instead of:
import * as ModuleA from './ModuleA';
To use:
import ModuleA from './ModuleA'
Default export can be Imported directly with any alias.
0👍
Please try to use the module name in your mapActions ...mapActions("A",["FuncA"])
. You can use also objects to change the action name in your component ...mapActions("A",{FunctionA:"FuncA"})
0👍
As I see your codes, I think that you have to change some codes to import your modules based on ES6 correctly!!
so try this one:
- your store
// if you use index.js or store.js to store this codes,
// you have to import 'vue' and 'vuex'
import Vue from 'vue'
import Vuex from 'vuex'
import ModuleA from './ModuleA';
Vue.use(Vuex);
export default new Vuex.Store({
state: { ... },
getters: { ... },
mutations: { ... },
actions: { ... },
modules: {
ModuleA, // in ES6 if don't need property name for introduce your module
}
});
- your ModuleA
// just export it
export default {
state: { ... },
getters: { ... },
mutations: { ... },
actions: {
// I used arrow function syntax, but you can use your syntax
FuncA({ commit }, id) => {
//do something
},
},
});
Source:stackexchange.com