vuex的持久化
阿新 • • 發佈:2019-02-10
首先說一下vuex持久化的工作原理吧,
為了再重新整理的時候,保持我們的登入狀態,以及一些重要的檔案,我們需要儲存一些東西在快取裡面;
而當我們開發的時候,不知道什麼時候快取什麼值,就會導致各種小bug,一重新整理,找不到了;
vuex-persistedstate的理念就是把store裡面的資料自動快取起來;
下面看一下程式碼
import vue from "vue";
import vuex from "vuex";
import mutations from "./mutation";
//import getters from "./getter";
import createPersistedState from "vuex-persistedstate";
vue.use(vuex);
const state = {
user: false
};
const vuexPersisted = new createPersistedState({
key: "state",
storage: window.localStorage,
modules: state
});
export default new vuex.Store({
state,
mutations,
//getters,
plugins: [vuexPersisted]
});
引入vuex-persistedstate,並建立
key是快取時的欄位名稱
storage時快取方式,可以是localStorage,也可以是sessionStorage,或者自己定義一些存取方式
modules,是你要快取的東西
然後在export裡面當作外掛引入
這個時候差不多就完成一半了,當然,你想讓他起作用,得刺激一下他們啊
mutations.js
export default {
login(state) {
state.user = !state.user;
}
}
app.vue
changeuser(data){
console.log(data);
this.user = data;
this.$store.commit('login')
}
登陸的時候去執行app.vue裡賣弄的changeuser(),自己命名也行,登陸完成後執行this.$store.commit('login')
即可
現在,你可以去試試了