【问题标题】:Clear nuxt store and all submodules at logout注销时清除 nuxt 存储和所有子模块
【发布时间】:2019-03-12 21:28:56
【问题描述】:

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

有什么想法吗?

【问题讨论】:

标签: vue.js vuex nuxt.js


【解决方案1】:

您可以使用以下命令清理所有 vuex 数据:localStorage.vuex = ''

【讨论】:

    【解决方案2】:

    这就是我从 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/');
        }
      }
    }
    

    【讨论】:

      猜你喜欢
      • 2021-09-26
      • 1970-01-01
      • 2017-03-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-05
      • 1970-01-01
      • 1970-01-01
      • 2021-08-02
      相关资源
      最近更新 更多