Vuex数据清空方法(用于用户登出等操作)

Vuex持久化传送门:Vuex数据持久化
由于项目中需要一个用户登出的功能,而数据放在Vuex中在登出没有刷新时数据并不会更新
所以找到了这样一个很不错的方法

  1. 将state以各种方式保存
  2. 注册时调用函数赋值
  3. 清空时再将保存的state赋值替换当前的state
  4. over

首先默认state时要用新的方法注册

把数据写在函数的返回值中(其他方法也可以只要能调用)

const getDefaultState = () => {
  return {
    token: getToken(),
    name: '',
    avatar: '',
    permList:[]
  }
}

给Vuex中的state赋值并注册

const state = getDefaultState();

const store = new Vuex.Store({
  modules: {
    app,
    settings,
    state,
    permissions
  },
  // state: {
  //   disinfectsList: []
  // },
  // mutations: {
  //   //为查询消毒信息列表存入数据
  //   setdisinfectsList(state, data) {
  //     state.disinfectsList = data
  //   }
  // },
  getters
})

在mutations中定义方法

  RESET_STATE: (state) => {
    Object.assign(state, getDefaultState())
  },

页面中使用

    commit('RESET_STATE');
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值