项目接进来个地图,同事是js写的。我搭的ts+vue。
问题:ts写的vuex在用以前的调用方式会报错。
目的:是想在ts中this.setToken()这样调用
比如 :
js中调用
...mapActions(["setToken"])
this.setToken()
以前是这样调用。现在是ts写的vuex这样用会报错。
个人觉得是路径的问题,找不到setToken
但是 用store.dispatch("global/setToken")是可以调用
// global是文件夹
ts中调用: @Action("global/setToken") setToken!: Function;
/**
* actions
*/
export const actions: ActionTree<GlobalState, RootState> = {
Version({ commit }, payload: string) {
commit('setVersion', payload);
},
// 退出清除token
logout({ commit }) {
Cookies.remove('token')
commit('updateToken', '');
},
setToken({ commit }, payload: string) {
Cookies.set('token', payload, { expires: 7, path: '' })
commit('updateToken', payload);
}
};
const namespaced: boolean = true;
export const global: Module<GlobalState, RootState> = {
namespaced,
state,
getters,
mutations,
actions,
};
不太明白这个namespaced这个东西,是用来区别模块的吗。
跪求大佬指点下。谢谢