import {createStore} from "vuex"; import {moduleA} from "@/store/modules/ModuleA"; import {moduleB} from "@/store/modules/ModuleB"; export default createStore({ modules: { module_a: moduleA, module_b: moduleB, }, state: { count: 3, }, getters: { // getter使用箭头函数来定义,默认必传参数时state,如果需要其余参数,可以使用嵌套头函数 getter: (state) => (n) => { return state.count * n; }, }, mutations: { // payload用于携带参数 mutation(state, payload) { state.count += payload.num } }, actions: { action(content, payload) { // 模拟异步操作 setTimeout(() => { // rep 模拟axios请求返回的数据 const rep = 3; if (content.state.count > 50) { content.commit('mutation', {num: rep + payload.num}); } }, 1000) } } })