问题说明
即 使用 this.$store.dispatch('user/changeUser', this.user)
会报上面的错误
问题解决
此项目中正确使用定义好的 vuex 的模块里面数据的方法如下:
import { UserModule } from '@/store/modules/form'
const select = FormModule.selectUser
UserModule.SetSelectUser(this.selectUser) // action / mutations
定义模块
// "vuex": "3.6.2",
// index.js
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
export default new Vuex.Store({})
// ./modules/user.ts
import {
VuexModule,
Module,
Mutation,
Action,
getModule,
} from 'vuex-module-decorators'
import store from '@/store'
import Vue from 'vue'
export interface IUserState {
selectUser: any
}
@Module({ dynamic: true, store, name: 'user' })
class User extends VuexModule implements IUserState {
selectUser: any = {}
@Mutation
private async SET_SELECTUSER(select: any) {
this.selectUser = select
}
@Action
public SetSelectUser(select: any) {
this.SET_SELECTUSER(select)
}
}
export const UserModule = getModule(User)
网友评论