咱们在应用vue开发我的项目时,通常会应用到其专门的状态管理工具——vuex。然而vuex中的store中的数据有一个个性,就是在页面刷新的时候,会从新加载vue实例,store外面的数据就会被从新赋值,这样就会导致数据失落的问题。
为此咱们能够通过js存储技术解决,这里应用sessionStorage较为适合。为什么sessionStorage适合,是因为sessionStroage的存在工夫时以后页面关上的时候,页面一旦敞开,立刻生效。下次关上页面再进来时,仍是新数据,不是上次存储的数据了。
//在页面加载时读取sessionStorage里的状态信息 if(sessionStorage.getItem('store')){ this.$store.replaceState(Object.assign({},this.$store.state,JSON.parse(sessionStorage.getItem('store')))) } //在页面刷新时将vuex里的信息保留到sessionStorage里 window.addEventListener('beforeunload',()=>{ sessionStorage.setItem('store',JSON.stringify(this.$store.state)) })