您的位置:首页 > Web前端 > Vue.js

解决vuex页面刷新数据丢失问题?

2019-07-08 17:32 183 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/weixin_42157753/article/details/95076777

使用vuex怎么解决刷新数据不丢失?
每次存储sessionstorage又太麻烦,所以可以在根目录App.vue中监听刷新事件:

<script>
export default {
name: 'App',
mounted () {
window.addEventListener('unload', this.saveState)
},
methods: {
saveState () {
sessionStorage.setItem('state', JSON.stringify(this.$store.state))
}
}
}
</script>

在store.js里这样使用:

export default new vuex.Store({
state: sessionStorage.getItem('state') ? JSON.parse(sessionStorage.getItem('state'))
: {
token: window.sessionStorage.getItem('token'), // 存到localStorage中一样
data: {}
},
mutations: {
LOGIN: (state, data) => {
// 更改token的值
state.token = data
window.sessionStorage.setItem('token', data)
},
Ceshi: (state, res) => {
state.data = res
}
}
})

这样就可以完美解决问题了!

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: