91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

叙永县| 墨玉县| 涞源县| 忻城县| 阿克| 西昌市| 波密县| 平度市| 巢湖市| 通海县| 梧州市| 铜陵市| 祁连县| 宁阳县| 丹寨县| 福鼎市| 高雄市| 金门县| 安顺市| 宁陕县| 扎兰屯市| 通江县| 平凉市| 古交市| 广饶县| 拉萨市| 九寨沟县| 湟中县| 盈江县| 永胜县| 和田市| 长顺县| 龙山县| 宜丰县| 温州市| 土默特右旗| 宁国市| 台湾省| 金川县| 巨野县| 沁水县|