注销时清除nuxt存储区和所有子模块

时间:2018-10-08 08:37:45

标签: vue.js vuex nuxt.js

我想知道在用户注销后重置所有商店的最佳解决方案是什么? 通常,我有一个用于登录的应用程序,有时需要在开发人员模式下从帐户切换(在实时模式下可能是这种情况)。很显然,当我与另一个用户登录时,我遇到了一些问题,一些商店信息仍然存在并且属于其他用户(如果我很清楚,则不知道)。 我已经从auth.js内注销功能的商店中清除了一些模块。但是随着我的应用程序的成长以及商店(在几个模块中的分离)的增长,我只是想知道什么是用初始值/状态一次重置所有商店的最佳方法。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

这就是我从Nuxt商店中清除一些数据的方式。

clearToken(state) {
   state.token = null
   state.refresh = null
   state.currentUserData = null
},

logout(vuexContext, req) {
    vuexContext.commit('clearToken')
    Cookie.remove('jwt')
    Cookie.remove('jwt_refresh')
    Cookie.remove("tokenExpiration");
    Cookie.remove("userData");
    if (process.client) {
      localStorage.removeItem('refresh');
      localStorage.removeItem('token');
      localStorage.removeItem("tokenExpiration");
      localStorage.removeItem("userData");
    if (!localStorage.getItem('token')) {
      $nuxt.$router.push('/login/');
    }
  }
}