解决vue刷新页面以后丢失store的数据
2024-09-05 02:38:13
刷新页面时vue实例重新加载,store就会被重置,可以把定义刷新前把store存入本地localStorage、sessionStorage、cookie中,localStorage是永久储存,重新打开页面时会读取上一次打开的页面数据,sessionStorage是储存到关闭为止,cookie不适合存大量数据。根据我的需求,最合适的是sessionStorage。
beforeunload在页面刷新时触发,可以监听这个方法,让页面在刷新前存store到sessionStorage中。
当然,在页面刷新时还要读取sessionStorage中的数据到store中,读取和储存都写在app.vue中。
export default {
name: 'app',
created () {
// 在页面加载时读取sessionStorage
if (sessionStorage.getItem('store')) {
this.$store.replaceState(Object.assign({}, this.$store.state, JSON.parse(sessionStorage.getItem('store'))))
}
// 在页面刷新时将store保存到sessionStorage里
window.addEventListener('beforeunload', () => {
sessionStorage.setItem('store', JSON.stringify(this.$store.state))
})
}
}
最新文章
- 1122MySQL性能优化之 Nested Loop Join和Block Nested-Loop Join(BNL)
- AX2012 multiple enum values as query filter选择多个枚举值当过滤条件
- Visual Studio+TFS--强大的项目管理工具
- poj 2195 Going Home
- 浅谈iOS中的userAgent
- 重新想象 Windows 8.1 Store Apps (72) - 新增控件: AppBar, CommandBar
- objective-c中使用cocoa的NSPredicate,谓词(十四)
- Tdxtreelist 行变色
- JAVA 反序列化攻击
- Mina学习之IoFilter
- python: pandas模块
- linux dmesg命令
- webp转png或jpg
- Javascript数组(1)--基本属性及方法
- centos 6.8 下安装redmine(缺陷跟踪系统)
- d3.js d3.transform 方法移除的解决方案
- facebook api之Marketing API
- Java 使用 jacob 将 word 文档转换为 pdf 文件
- defaultdict - update - pymysql
- 在PC上运行安卓(Android)应用程序的4个方法