Dans mon dossier /src/store/
je actions.js
, index.js
, mutations.js
et state.js
qui contiennent les informations suivantesComment réinitialiser/effacer les données d'un magasin vuex?
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
et 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: []
}
}
Maintenant, lorsqu'un utilisateur se connecte, je garde l'état comme
this.$store.commit('SET_USER', response.data)
Maintenant, lorsqu'un utilisateur se déconnecte, je lance mon dossier dans lequel components/logout.vue
il a le code suivant:
export default {
data() {},
created() {
localStorage.setItem('vuex', null);
this.$store.commit('SET_USER', null);
window.localStorage.clear();
window.sessionStorage.clear();
}
}
Mais pour une raison quelconque, les données sont en quelque sorte a persisté.
'Mais pour une raison quelconque, les données sont en quelque sorte persisted.' PERSISTE où? dans 'state.user' ou localStorage? – Pradeepb
Il est persisté dans 'state.user' – hidar
Je ne suis pas sûr de ce qui est mal, la même chose [ici] (http://jsfiddle.net/zfab6tzp/22/) – Pradeepb