解决思路:
- 监听页面刷新,将state状态保存到sessionStorage
- 初始化项目时,判断sessionStorage是否有state状态,有的话合并,完成状态复现
// App.vue
export default {
name: 'App',
created() {
if( sessionStorage.getItem("store") ) {
this.$store.replaceState(Object.assign({}, this.$store.state, JSON.parse(sessionStorage.getItem("store"))))
sessionStorage.removeItem("store")
}
window.addEventListener("beforeunload", ()=>{
sessionStorage.setItem("store", JSON.stringify(this.$store.state))
})
},
}