欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

關(guān)于vuex狀態(tài)刷新網(wǎng)頁(yè)時(shí)數(shù)據(jù)被清空問題及解決

 更新時(shí)間:2022年07月27日 15:13:06   作者:不過期的約定  
這篇文章主要介紹了關(guān)于vuex狀態(tài)刷新網(wǎng)頁(yè)時(shí)數(shù)據(jù)被清空問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

vuex狀態(tài)刷新網(wǎng)頁(yè)時(shí)數(shù)據(jù)被清空問題

vuex狀態(tài)管理,在網(wǎng)頁(yè)刷新數(shù)據(jù)被清空的解決方法。

在main.js中寫入下面的代碼段(親測(cè)有效)

//刷新保存狀態(tài)
if (sessionStorage.getItem("store")) {
    store.replaceState(
        Object.assign(
            {},
            store.state,
            JSON.parse(sessionStorage.getItem("store"))
        )
    );
    sessionStorage.removeItem("store")
}

//監(jiān)聽,在頁(yè)面刷新時(shí)將vuex里的信息保存到sessionStorage里
window.addEventListener("beforeunload", () => {
    sessionStorage.setItem("store", JSON.stringify(store.state));
});

vuex狀態(tài)在頁(yè)面刷新時(shí),會(huì)清空狀態(tài)的解決

store寫入的state在頁(yè)面刷新時(shí)會(huì)被清空,這時(shí)可以用sessionStorage緩存狀態(tài)。因?yàn)閘ocalStorage會(huì)永久保存數(shù)據(jù),只有用戶手動(dòng)清除的時(shí)候才會(huì)清除。cookie存儲(chǔ)內(nèi)存只有4k,并且始終在同源的http請(qǐng)求中攜帶。而sessionStorage在關(guān)閉瀏覽器頁(yè)面時(shí)就會(huì)清空。

因?yàn)闋顟B(tài)只會(huì)在刷新頁(yè)面的時(shí)候清空,所以我們只需要去app.vue里面在頁(yè)面刷新之前把store保存在sessionStorage里面。在頁(yè)面加載時(shí)讀取sessionStorage的值

由于瀏覽器存儲(chǔ)時(shí)會(huì)自動(dòng)把對(duì)象轉(zhuǎn)換成字符串格式,且不具備轉(zhuǎn)換對(duì)象的鍵和值為字符串的效果,只會(huì)轉(zhuǎn)換為[object,object]。因此需要先將對(duì)象轉(zhuǎn)換為json字符串存儲(chǔ),取出時(shí)再使用JSON.parse()方法轉(zhuǎn)換為json對(duì)象。

app.vue

created () {
? ? // 在頁(yè)面加載時(shí)讀取sessionStorage
? ? if (sessionStorage.getItem('store')) {
? ? ? this.$store.replaceState(Object.assign({}, this.$store.state, JSON.parse(sessionStorage.getItem('store'))))
? ? }
? ? // 在頁(yè)面刷新時(shí)將store保存到sessionStorage里
? ? window.addEventListener('beforeunload', () => {
? ? ? sessionStorage.setItem('store', JSON.stringify(this.$store.state))
? ? })
? }

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue輕量級(jí)框架無(wú)法獲取到vue對(duì)象解決方法

    vue輕量級(jí)框架無(wú)法獲取到vue對(duì)象解決方法

    這篇文章主要介紹了vue輕量級(jí)框架無(wú)法獲取到vue對(duì)象解決方法相關(guān)知識(shí)點(diǎn),有需要的讀者們跟著學(xué)習(xí)下。
    2019-05-05
  • 詳解Vue組件復(fù)用和擴(kuò)展之道

    詳解Vue組件復(fù)用和擴(kuò)展之道

    這篇文章主要介紹了Vue組件復(fù)用和擴(kuò)展,對(duì)vue感興趣的同學(xué),可以參考下
    2021-05-05
  • 利用vue.js把靜態(tài)json綁定bootstrap的table方法

    利用vue.js把靜態(tài)json綁定bootstrap的table方法

    今天小編就為大家分享一篇利用vue.js把靜態(tài)json綁定bootstrap的table方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • vue 按鈕 權(quán)限控制介紹

    vue 按鈕 權(quán)限控制介紹

    這篇文章主要介紹了vue 按鈕 權(quán)限控制,在日常項(xiàng)目中,會(huì)碰到需要根據(jù)后臺(tái)接口返回的數(shù)據(jù),來判斷當(dāng)前用戶的操作權(quán)限,必須當(dāng)有刪除權(quán)限時(shí),就顯示刪除按鈕,下面我們就來了解一下具體的解決方法,需要的朋友也可以參考一下
    2021-12-12
  • vue+element表格導(dǎo)出為Excel文件

    vue+element表格導(dǎo)出為Excel文件

    這篇文章主要為大家詳細(xì)介紹了vue+element表格導(dǎo)出為Excel文件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • vue+element多選級(jí)聯(lián)選擇器自定義props使用詳解

    vue+element多選級(jí)聯(lián)選擇器自定義props使用詳解

    這篇文章主要給大家介紹了關(guān)于vue+element多選級(jí)聯(lián)選擇器自定義props使用的相關(guān)資料,級(jí)聯(lián)選擇器展示的結(jié)果都是以數(shù)組的形式展示,也就是v-model綁定的結(jié)果,需要的朋友可以參考下
    2023-07-07
  • vue中post請(qǐng)求報(bào)400的解決方案

    vue中post請(qǐng)求報(bào)400的解決方案

    這篇文章主要介紹了vue中post請(qǐng)求報(bào)400的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • 單頁(yè)面Vue頁(yè)面刷新出現(xiàn)閃爍問題及解決

    單頁(yè)面Vue頁(yè)面刷新出現(xiàn)閃爍問題及解決

    這篇文章主要介紹了單頁(yè)面Vue頁(yè)面刷新出現(xiàn)閃爍問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • vue+elementUI配置表格的列顯示與隱藏

    vue+elementUI配置表格的列顯示與隱藏

    這篇文章主要為大家詳細(xì)介紹了vue+elementUI配置表格的列顯示與隱藏,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • vue打包項(xiàng)目版本號(hào)自加的操作步驟

    vue打包項(xiàng)目版本號(hào)自加的操作步驟

    項(xiàng)目每次打包后都需要改動(dòng)項(xiàng)目版本號(hào),這個(gè)改動(dòng)每次都需要在package.json中修改version,比較麻煩,到底有沒有一種打包后版本號(hào)自加的辦法,這篇文章主要介紹了vue打包項(xiàng)目版本號(hào)自加的步驟,需要的朋友可以參考下
    2022-09-09

最新評(píng)論