在vue中使用vuex做狀態管理,當重新整理頁面時,發現state裡面的資料丟失,這是因為當頁面重新整理時,store裡面的資料就會重新賦值初始化。
解決:將state裡面的資料儲存在本地儲存中,這樣在重新整理頁面時就可以直接從本地儲存拿
1.選擇合適的儲存客戶端
localstorage是永久儲存在本地,除非你主動去刪除;
sessionstorage是儲存到當前頁面關閉為止;
cookie則根據你設定的有效時間來儲存,但缺點是不能儲存大資料且不易讀取。
我選擇的是sessionstorage,選擇的原因vue是單頁面應用,操作都是在乙個頁面跳轉路由,另乙個原因是sessionstorage可以保證開啟頁面時sessionstorage的資料為空,而如果是localstorage則會讀取上一次開啟頁面的資料。
2.**
created () , this.$store.state,json.parse(sessionstorage.getitem("store"))))
} //在頁面重新整理時將vuex裡的資訊儲存到sessionstorage裡
window.addeventlistener("beforeunload",()=>)
}}
vuex頁面資料丟失 解決vuex重新整理頁面資料丟失
1 前言 vue構建的專案中,vuex的狀態儲存是響應式的,當vue元件從store中讀取狀態的時候,若store中的狀態發生變化,那麼相應的元件也會得到高效重新整理,問題來了,vuex儲存的資料只是在頁面中,相當於我們定義的全域性變數,重新整理之後,裡面的資料就會恢復到初始化的狀態。比如,使用者已...
解決 重新整理頁面Vuex資料丟失
vue將資料存入vuex裡面,在進行頁面重新整理的時候,資料丟失,這裡有兩個解決辦法應對不同場景 假如你的路由跳了3層以上,而且這幾個頁面都要用同乙個資料roomid,肯定想到路由傳參的方式傳roomid,那麼問題來了 解決方法 初始化得到roomid後,存入sessionstorge vuex裡面...
解決vuex重新整理頁面資料丟失
vue構建的專案中,vuex的狀態儲存是響應式的,當vue元件從store中讀取狀態的時候,若store中的狀態發生變化,那麼相應的元件也會得到高效重新整理,問題來了,vuex儲存的資料只是在頁面中,相當於我們定義的全域性變數,重新整理之後,裡面的資料就會恢復到初始化的狀態。比如,使用者已經登入了,...