我是靠谱客的博主 淡淡蜡烛,这篇文章主要介绍解决vuex数据刷新丢失的问题,并且解决ios中beforeunload不生效,现在分享给大家,希望可以做个参考。

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数据刷新丢失内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(127)

评论列表共有 0 条评论

立即
投稿
返回
顶部