在app.vue中执行该方法
// 储存vuex数据
storageVuexFun() {
//在页面刷新时将vuex里的信息保存到sessionStorage里
window.addEventListener("beforeunload", () => {
sessionStorage.setItem("storedata", JSON.stringify(this.$store.state));
});
// 兼容iphone手机
window.addEventListener("pagehide", () => {
sessionStorage.setItem("storedata", JSON.stringify(this.$store.state));
});
//在页面加载时读取sessionStorage里的状态信息
if (sessionStorage.getItem("storedata")) {
`在这里插入代码片`;
this.$store.replaceState(
Object.assign(
{},
this.$store.state,
JSON.parse(sessionStorage.getItem("storedata"))
)
);
// 可在赋值后删除储存库中的值
window.sessionStorage.removeItem("storedata");
}
},
注意:
该解决方案是为了解决vuex刷新页面数据丢失,不可手动在sessionStorage中修改值,将不会生效。