亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

拉孜县| 长岭县| 本溪市| 迁安市| 南通市| 舒城县| 双鸭山市| 福安市| 石城县| 山东省| 成武县| 富裕县| 霍州市| 札达县| 长丰县| 汉源县| 克山县| 石嘴山市| 宣汉县| 嘉定区| 道孚县| 平遥县| 莆田市| 长沙市| 衡阳县| 铜梁县| 东兴市| 淮阳县| 闸北区| 榆树市| 凤台县| 河间市| 平安县| 胶南市| 阿合奇县| 九龙县| 卢湾区| 亚东县| 瓦房店市| 离岛区| 泰州市|