uni-app h5页面getApp().globalData会在页面刷新后丢失
uni-app h5页面getApp().globalData会在页面刷新后丢失
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Windows | win11 | HBuilderX |
操作步骤:
- App.uvue内向globalData添加数据,页面上展示
预期结果:
- 刷新后页面上数据不变
实际结果:
- 数据丢失
bug描述:
- globalData内的数据在页面刷新后消失
2 回复
不用uniapp,你试试 vue3 项目有没有这个问题
更多关于uni-app h5页面getApp().globalData会在页面刷新后丢失的实战教程也可以访问 https://www.itying.com/category-93-b0.html
在 uni-app 的 H5 环境中,getApp().globalData 的数据会在页面刷新后丢失,这是预期行为,不是 bug。globalData 本质上是 JavaScript 内存中的对象,页面刷新会导致整个应用重新初始化,内存数据自然被清空。
解决方案:
- 使用本地存储:将需要持久化的数据存入
uni.setStorageSync,页面加载时通过uni.getStorageSync读取。 - 结合 Vuex:通过 Vuex 管理状态,并配合持久化插件(如 vuex-persistedstate)自动同步到本地存储。
- URL 参数传递:若数据量小且无需长期存储,可通过 URL 参数传递。
示例代码(本地存储):
// 存储数据
uni.setStorageSync('key', 'value');
// 读取数据
const data = uni.getStorageSync('key');

