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

2019-12-11    前端達(dá)人

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

window.localStorage.setItem(key,value)

 

方法二:使用 vuex-persistedstate插件

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

辦法:

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

1.實(shí)現(xiàn)

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

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

方法三: 使用vue-cookie插件

cookie 可以設(shè)置過期時(shí)間

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;
      // 設(shè)置存儲(chǔ)
      VueCookie.set('token', token, { expires: '30s' });
    }
  },
  actions: {

  }
})

日歷

鏈接

個(gè)人資料

存檔