created(){
//在页面刷新时将vuex里的信息保存到localStorage里
// window.addEventListener("beforeunload",()=>{
// localStorage.setItem("messageStore",JSON.stringify(this.$store.state))
// })
let isiOS = !!navigator.userAgent.match(/(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
if (isiOS) {
//在页面刷新时将vuex里的信息保存到缓存里
window.addEventListener("pagehide", () => {
localStorage.setItem("messageStore", JSON.stringify(this.$store.state))
})
//在页面加载时读取localStorage里的状态信息
localStorage.getItem("messageStore") && this.$store.replaceState(Object.assign(this.$store.state,JSON.parse(localStorage.getItem("messageStore"))));
} else {
//在页面刷新时将vuex里的信息保存到缓存里
window.addEventListener("beforeunload", () => {
localStorage.setItem("messageStore", JSON.stringify(this.$store.state))
})
//在页面加载时读取localStorage里的状态信息
localStorage.getItem("messageStore") && this.$store.replaceState(Object.assign(this.$store.state,JSON.parse(localStorage.getItem("messageStore"))));
}
},
这样不管是IOS和安卓刷新之后VUEX的状态值都能保存了
亲测有效
最后
以上就是淡淡蜡烛最近收集整理的关于解决vuex数据刷新丢失的问题,并且解决ios中beforeunload不生效的全部内容,更多相关解决vuex数据刷新丢失内容请搜索靠谱客的其他文章。
发表评论 取消回复