1. 程式人生 > >vuex的持久化

vuex的持久化

首先說一下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')即可
現在,你可以去試試了