vue页面刷新数据丢失问题

岁酱吖の 提交于 2019-11-29 04:49:30

参考: https://blog.csdn.net/aliven1/article/details/80743470
          https://blog.csdn.net/liang377122210/article/details/78880438
          https://blog.csdn.net/goodaxuan/article/details/82113123

main.js文件中:

var store = new Vuex.Store({

state: {

userMsg: ' ' //要保存的数据

},

getters: {

},

mutations: {

set_userMsg(state, data) {

state.userMsg = data

}

},

actions: {

},

modules: {}

})

var data = {id:1, name:'王五'};

this.$store.commit('set_userMsg', data); //修改保存数据

 

App.vue中:

created() {

//在页面加载时读取sessionStorage里的状态信息

if(sessionStorage.getItem("userMsg")) {

this.$store.replaceState(Object.assign({}, this.$store.state, JSON.parse(sessionStorage.getItem("userMsg"))))

}

//在页面刷新时将vuex里的信息保存到sessionStorage里

window.addEventListener("beforeunload", () => {

sessionStorage.setItem("userMsg", JSON.stringify(this.$store.state))

})

}

 

调用数据组件中:

data部分         userMsg = ' ';

method部分       let t = sessionStorage.getItem("userMsg");

                let obj = JSON.parse(t);

                this.userMsg = obj.userMsg;

                console.log('userMsg', this.userMsg);     => userMsg   {id:1, name:'王五'}

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!