中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vuex狀態刷新網頁時數據被清空問題如何解決

發布時間:2022-07-27 17:28:34 來源:億速云 閱讀:305 作者:iii 欄目:開發技術

這篇文章主要介紹“vuex狀態刷新網頁時數據被清空問題如何解決”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“vuex狀態刷新網頁時數據被清空問題如何解決”文章能幫助大家解決問題。

vuex狀態刷新網頁時數據被清空

vuex狀態管理,在網頁刷新數據被清空的解決方法。

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

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

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

vuex狀態在頁面刷新時,會清空狀態

store寫入的state在頁面刷新時會被清空,這時可以用sessionStorage緩存狀態。因為localStorage會永久保存數據,只有用戶手動清除的時候才會清除。cookie存儲內存只有4k,并且始終在同源的http請求中攜帶。而sessionStorage在關閉瀏覽器頁面時就會清空。

因為狀態只會在刷新頁面的時候清空,所以我們只需要去app.vue里面在頁面刷新之前把store保存在sessionStorage里面。在頁面加載時讀取sessionStorage的值

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

app.vue

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

關于“vuex狀態刷新網頁時數據被清空問題如何解決”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

沁源县| 奉新县| 隆德县| 长葛市| 元阳县| 军事| 伊宁市| 通州区| 尼勒克县| 林芝县| 宁都县| 图木舒克市| 谢通门县| 栾川县| 嫩江县| 青川县| 广宗县| 兰州市| 凌云县| 台安县| 成武县| 彭阳县| 武安市| 平山县| 枞阳县| 郯城县| 东兰县| 峨眉山市| 芒康县| 留坝县| 斗六市| 旬邑县| 荥经县| 陆川县| 荆门市| 禹城市| 鄂托克旗| 柳林县| 寻甸| 泽普县| 上高县|