//全局監聽,頁面刷新的時候將store裏state的值存到sessionStorage中,然後從sessionStorage中獲取,再賦值給store。然後再把session裏面存的刪除即可,相當於中間件的作用。
//在頁面加載時讀取sessionStorage裏的狀態信息
if (sessionStorage.getItem("store")) {
this.$store.replaceState(
Object.assign(
{},
this.$store.state,
JSON.parse(sessionStorage.getItem("store"))
)
);
sessionStorage.removeItem("store")
}
//在頁面刷新時將vuex裏的信息保存到sessionStorage裏
window.addEventListener("beforeunload", () => {
sessionStorage.setItem("store", JSON.stringify(this.$store.state));
});