關(guān)于vuex強(qiáng)刷數(shù)據(jù)丟失問(wèn)題解析
vuex-persistedstate
- 核心原理:在本地存儲(chǔ)中存入所有的vuex數(shù)據(jù),頁(yè)面刷新時(shí)到緩存中取數(shù)據(jù),放到vuex中
- 下載:
$ npm install vuex-persistedstate -S - 在store中引入插件
import persistedState from 'vuex-persistedstate'
const store = new Vuex.Store({
// ...
plugins: [persistedState()]
})
vuex-persistedstate默認(rèn)使用localStorage儲(chǔ)存,若想使用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
- 當(dāng)我們?cè)趘uex中保存了用戶(hù)信息,雖然使用起來(lái)方便了很多,但是為了解決vuex刷新頁(yè)面數(shù)據(jù)丟失的問(wèn)題,使用了
vuex-persistedstate插件,vuex-persistedstate是沒(méi)有加密的,用戶(hù)的信息就暴露在緩存中, - 非常的不安全,所以需要配合
secure-ls來(lái)加密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強(qiáng)刷數(shù)據(jù)丟失的文章就介紹到這了,更多相關(guān)vuex數(shù)據(jù)丟失內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
VUE UPLOAD 通過(guò)ACTION返回上傳結(jié)果操作
這篇文章主要介紹了VUE UPLOAD 通過(guò)ACTION返回上傳結(jié)果操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-09-09
vue2.0和mintui-infiniteScroll結(jié)合如何實(shí)現(xiàn)無(wú)線滾動(dòng)加載
這篇文章主要介紹了vue2.0和mintui-infiniteScroll結(jié)合如何實(shí)現(xiàn)無(wú)線滾動(dòng)加載,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10
解決Vue+Element ui開(kāi)發(fā)中碰到的IE問(wèn)題
今天小編就為大家分享一篇解決Vue+Element ui開(kāi)發(fā)中碰到的IE問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-09-09
vue配置文件自動(dòng)生成路由和菜單實(shí)例代碼
因?yàn)椴煌挠脩?hù)有不同的權(quán)限,能訪問(wèn)的頁(yè)面是不一樣的,所以我們?cè)趯?xiě)后臺(tái)管理系統(tǒng)時(shí)就會(huì)遇過(guò)這樣的需求:根據(jù)后臺(tái)數(shù)據(jù)動(dòng)態(tài)添加路由和菜單,這篇文章主要給大家介紹了關(guān)于vue配置文件自動(dòng)生成路由和菜單的相關(guān)資料,需要的朋友可以參考下2021-08-08
vue項(xiàng)目網(wǎng)頁(yè)自適應(yīng)等比例放大縮小實(shí)例代碼
等比例縮放可以在不同的分辨率下都能夠一屏展示,不會(huì)有滾動(dòng)條的問(wèn)題,也不會(huì)有適配問(wèn)題,下面這篇文章主要給大家介紹了關(guān)于vue項(xiàng)目網(wǎng)頁(yè)自適應(yīng)等比例放大縮小的相關(guān)資料,需要的朋友可以參考下2022-11-11

