Vue 數(shù)據(jù)持久化

2019-12-11    前端達人

方法一:使用 localStorage 存儲數(shù)據(jù)

window.localStorage.setItem(key,value)

 

方法二:使用 vuex-persistedstate插件

vuex 存在一個痛點,就是刷新以后vuex里面存儲的state就會被瀏覽器釋放掉(state都是存儲在內(nèi)存中的)。

辦法:

通過vuex-persistedstate插件,實現(xiàn)將數(shù)據(jù)存儲到本地。

1.實現(xiàn)

import createPersistedState from 'vuex-persistedstate'
export default new Vuex.Store({
    state:{},
    getters:{},
    actions:{},
    mutations:{},
    modules:{},
    plugins: [createPersistedState()]  //加上這個就可以了 //里面設置需要緩存的內(nèi)容
})

API:  https://www.npmjs.com/package/vuex-persistedstate

方法三: 使用vue-cookie插件

cookie 可以設置過期時間

import Vue from 'vue';
import Vuex from 'vuex';

Vue.use(Vuex)
var VueCookie = require('vue-cookie');

export default new Vuex.Store({
  state: {
    token: VueCookie.get('token')
  },
  mutations: {
    saveToken(state, token) {
      state.token = token;
      // 設置存儲
      VueCookie.set('token', token, { expires: '30s' });
    }
  },
  actions: {

  }
})

分享本文至:

日歷

鏈接

個人資料

藍藍設計的小編 http://www.bouu.cn

存檔