vue ios上vuex刷新丢失问题以及beforeunload事件失效问题

原因:IOS是卸载了onunload和beforeunload事件,改为pagehide代替

APP.vue中修改为

var isiOS = !!navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
        if (isiOS) {
            //在页面刷新时将vuex里的信息保存到缓存里
            window.addEventListener("pagehide", () => {
                localStorage.setItem("users", JSON.stringify(this.$store.state))
            })
        } else {
            //在页面刷新时将vuex里的信息保存到缓存里
            window.addEventListener("beforeunload", () => {
                localStorage.setItem("users", JSON.stringify(this.$store.state))
            })
        }

这样不管是IOS和安卓刷新之后VUEX的状态值都能保存了

亲测有效

你可能感兴趣的:(vuex,vue)