Как я могу сбросить / стереть данные магазина Vuex?

1

В моей /src/store/ папке у меня есть actions.js, index.js, mutations.js и state.js которые содержат следующую информацию

actions.js

export default {}

index.js

import Vue from 'vue'
import Vuex from 'vuex'
import state from './state'
import actions from './actions'
import mutations from './mutations'

Vue.use(Vuex)

export default new Vuex.Store({
  state,
  actions,
  mutations
})

mutations.js

export default {
  TOGGLE_LOADING (state) {
    state.callingAPI = !state.callingAPI
  },
  TOGGLE_SEARCHING (state) {
    state.searching = (state.searching === '') ? 'loading' : ''
  },
  SET_USER (state, user) {
    state.user = user
  },
  SET_TOKEN (state, token) {
    state.token = token
  }
}

и state.js

export default {
  callingAPI: false,
  searching: '',
  serverURI: 'http://10.110.1.136:8080',
  user: null,
  token: null,
  userInfo: {
    messages: [{1: 'test', 2: 'test'}],
    notifications: [],
    tasks: []
  }
}

Теперь, когда пользователь входит в систему, я сохраняю состояние как

this.$store.commit('SET_USER', response.data)

Теперь, когда пользователь выходит из системы, я запускаю файл components/logout.vue в котором он имеет следующий код:

export default {
  data() {},
  created() {
    localStorage.setItem('vuex', null);
    this.$store.commit('SET_USER', null);

    window.localStorage.clear();
    window.sessionStorage.clear();
  }
}

Но почему-то данные каким-то образом сохраняются.

  • 0
    But for some reason, the data is somehow persisted. Сохранились где? в state.user или localStorage?
  • 0
    Это сохраняется в state.user
Показать ещё 6 комментариев
Теги:
vue.js
vuejs2
vuex
local-storage

1 ответ

1

вы пытались импортировать свой магазин в компонент logout.vue?

const store = require('path/to/index.js');

затем в созданном вами методе попробуйте

store.default.commit('SET_USER', null);
  • 0
    да, я попробовал это это не работает

Ещё вопросы

Сообщество Overcoder
Наверх
Меню