VueX瀏覽器刷新如何實現(xiàn)保存數(shù)據(jù)
VueX瀏覽器刷新保存數(shù)據(jù)
在vue項目中用vuex來做全局的狀態(tài)管理, 發(fā)現(xiàn)當刷新網(wǎng)頁后,保存在vuex實例store里的數(shù)據(jù)會丟失。
原因:
因為當頁面刷新時,頁面會重新加載vue實例,store里面的數(shù)據(jù)就會被重新賦值初始化
方法一
在 App.vue 的 created 鉤子函數(shù)里寫下了如下代碼;
//在頁面加載時讀取localStorage里的狀態(tài)信息
localStorage.getItem("userMsg") && this.$store.replaceState(Object.assign(this.$store.state,JSON.parse(localStorage.getItem("userMsg"))));
//在頁面刷新時將vuex里的信息保存到localStorage里
window.addEventListener("beforeunload",()=>{
localStorage.setItem("userMsg",JSON.stringify(this.$store.state))
})
方法二
router/router.js 下
setItem()

刷新getItem()

刷新瀏覽器后,Vuex的數(shù)據(jù)丟失,如何解決?
在vue項目中用vuex來做全局的狀態(tài)管理, 發(fā)現(xiàn)當刷新網(wǎng)頁后,保存在vuex實例store里的數(shù)據(jù)會丟失。
因為 store 里的數(shù)據(jù)是保存在運行內(nèi)存中的,當頁面刷新時,頁面會重新加載vue實例,store里面的數(shù)據(jù)就會被重新賦值初始化。
解決方法
使用vuex-along
vuex-along 的實質(zhì)是將 vuex 中的數(shù)據(jù)存放到 localStorage 或者 sessionStroage 中。
安裝vuex-along
npm install vuex-along --save
配置 vuex-along: 在 store/index.js 中最后添加以下代碼:
import VueXAlong from 'vuex-along' //導入插件
export default new Vuex.Store({
? ? //modules: {
? ? ? ? //controler ?//模塊化vuex
? ? //},
? ? plugins: [VueXAlong({
? ? ? ? name: 'store', ? ? //存放在localStroage或者sessionStroage 中的名字
? ? ? ? local: false, ? ? ?//是否存放在local中 ?false 不存放 如果存放按照下面session的配置
? ? ? ? session: { list: [], isFilter: true } //如果值不為false 那么可以傳遞對象 其中 當isFilter設置為true時, list 數(shù)組中的值就會被過濾調(diào),這些值不會存放在seesion或者local中
? ? })]
});使用localStorage 或者 sessionStroage
created() {
? ? //在頁面加載時讀取sessionStorage里的狀態(tài)信息
? ? if (sessionStorage.getItem("store")) {
? ? ? this.$store.replaceState(
? ? ? ? Object.assign(
? ? ? ? ? {},
? ? ? ? ? this.$store.state,
? ? ? ? ? JSON.parse(sessionStorage.getItem("store"))
? ? ? ? )
? ? ? );
? ? }
? ? //在頁面刷新時將vuex里的信息保存到sessionStorage里
? ? window.addEventListener("beforeunload", () => {
? ? ? sessionStorage.setItem("store", JSON.stringify(this.$store.state));
? ? });
},以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
腳手架(vue-cli)創(chuàng)建Vue項目的超詳細過程記錄
用vue-cli腳手架可以快速的構建出一個前端vue框架的項目結構,下面這篇文章主要給大家介紹了關于腳手架(vue-cli)創(chuàng)建Vue項目的超詳細過程,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2022-05-05
element ui el-date-picker組件默認值方式
這篇文章主要介紹了element ui el-date-picker組件默認值方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12

