關(guān)于vuex強刷數(shù)據(jù)丟失問題解析
更新時間:2021年04月09日 11:56:14 作者:_奔跑的企鵝
這篇文章主要介紹了關(guān)于vuex強刷數(shù)據(jù)丟失問題解析,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
vuex-persistedstate
- 核心原理:在本地存儲中存入所有的vuex數(shù)據(jù),頁面刷新時到緩存中取數(shù)據(jù),放到vuex中
- 下載:
$ npm install vuex-persistedstate -S
- 在store中引入插件
import persistedState from 'vuex-persistedstate' const store = new Vuex.Store({ // ... plugins: [persistedState()] })
vuex-persistedstate
默認使用localStorage儲存,若想使用sessionStorage,可采用以下配置
import persistedState from "vuex-persistedstate" const store = new Vuex.Store({ // ... plugins: [persistedState ({ storage: window.sessionStorage })] })
- 若想使用cookie,可采用以下配置
- 下載:
$ npm install js-cookie -S
import Cookies from 'js-cookie'; import persistedState from "vuex-persistedstate" const store = new Vuex.Store({ // ... plugins: [persistedState ({ storage: { getItem: key => Cookies.get(key), setItem: (key, value) => Cookies.set(key, value), removeItem: key => Cookies.remove(key) } })] })
secure-ls
- 加密storage
- 當我們在vuex中保存了用戶信息,雖然使用起來方便了很多,但是為了解決vuex刷新頁面數(shù)據(jù)丟失的問題,使用了
vuex-persistedstate
插件,vuex-persistedstate
是沒有加密的,用戶的信息就暴露在緩存中, - 非常的不安全,所以需要配合
secure-ls
來加密storage - 下載:
$ npm install secure-ls -S
import Vue from "vue"; import Vuex from "vuex"; import SecureLS from 'secure-ls'; import persistedState from "vuex-persistedstate"; const ls = new SecureLS({ encodingType: "aes", // 加密方式 isCompression: false, // 是否啟用數(shù)據(jù)壓縮 encryptionSecret: "old-beauty" // }); Vue.use(Vuex); export default new Vuex.Store({ ... plugins: [persistedState({ // key: "123123", // 存入storage是的key storage: { getItem: key => ls.get(key), setItem: (key, value) => ls.set(key, value), removeItem: key => ls.remove(key) } })], });
【注】vuex-persist(不兼容ie) vuex-persistedstate
到此這篇關(guān)于vuex強刷數(shù)據(jù)丟失的文章就介紹到這了,更多相關(guān)vuex數(shù)據(jù)丟失內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue使用swiper實現(xiàn)中間大兩邊小的輪播圖效果
這篇文章主要介紹了vue使用swiper實現(xiàn)中間大兩邊小的輪播圖效果,本文分步驟通過實例代碼講解的非常詳細,需要的朋友可以參考下2019-11-11element?實現(xiàn)導(dǎo)航欄收起展開功能及思路
這篇文章主要介紹了element?實現(xiàn)導(dǎo)航欄收起展開功能,實現(xiàn)思路先給 el-menu加上 :collapse="isCollapse" 屬性,這個屬性也是 element 上的一個參數(shù),意思為是否開啟折疊動畫,在 data 中定義 isCollapse ,用 true 和 false 控制展開與收起,需要的朋友可以參考下2023-01-01在Vue中使用Viser說明(基于AntV-G2可視化引擎)
這篇文章主要介紹了在Vue中使用Viser說明(基于AntV-G2可視化引擎),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-10-10