vue ts vuex中如何兼容js vuex

项目接进来个地图,同事是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这个东西,是用来区别模块的吗。
跪求大佬指点下。谢谢

阅读 2.2k
1 个回答
...mapActions('global',["setToken"])
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题