先加载add,点击按钮后打开drawroute,绘制完成后与点击完成按钮调用uni.setStorageSync储存数据,然后点击返回按钮回到上一页,在上一页的onshow里调用uni.getStorageSync,获取不到数据
- 发布:2025-01-09 10:26
- 更新:2025-01-09 10:32
- 阅读:143
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: 11
HBuilderX类型: 正式
HBuilderX版本号: 4.45
手机系统: Android
手机系统版本号: Android 10
手机厂商: vivo
手机机型: S7
页面类型: vue
vue版本: vue3
打包方式: 云端
项目创建方式: HBuilderX
操作步骤:
预期结果:
能够获取到数据
能够获取到数据
实际结果:
无法获取,找不到数据
无法获取,找不到数据
2***@qq.com (作者)
我是在renderjs里回调server层的函数进行存储,名字,存储我都验证过 没问题,就找不到原因
2025-01-09 10:35
2***@qq.com (作者)
我在其他地方使用都没问题 只有这一个地方取不到数据
2025-01-09 10:57
套马杆的套子
回复 2***@qq.com: 你在存的地打个日志,看key 跟value都有值么,存完后立马再取你看看有不
2025-01-09 11:01
2***@qq.com (作者)
回复 套马杆的套子: 有值的
2025-01-09 11:07
套马杆的套子
回复 2***@qq.com: 我看你unload的时候是有清么?看看界面里哪有清的,然后新界面别在onshow里取,或者延期点时间再取试试呢,
2025-01-09 11:09
2***@qq.com (作者)
回复 套马杆的套子: 只有这一个地方有清,调用uni.navigateBack之后就取不到了
2025-01-09 11:23
2***@qq.com (作者)
回复 套马杆的套子: uni.navigateBack({
success: () => {
// 回退成功后执行的代码
let routedata = uni.getStorageSync("routeDetail");
console.log("drawroute.vue保存航迹取值Back", routedata)
}
});
2025-01-09 11:23
套马杆的套子
回复 2***@qq.com: 换成uni.navigateTo试试呢
2025-01-09 11:26
2***@qq.com (作者)
回复 套马杆的套子: 可以获取
2025-01-09 12:13
2***@qq.com (作者)
回复 套马杆的套子: 那uni.navigateBack为什么就获取不到了呢?
2025-01-09 13:33
套马杆的套子
回复 2***@qq.com: 还是因为你的onUnload里的问题,,因为navigateTo是不触发onUnload的,navigateBack会触发。所以问题就在onUnload里了
2025-01-09 16:04
2***@qq.com (作者)
回复 套马杆的套子: onload里的清除是上一页的,不是调用navigateBack的页面的,而且我之前试了屏蔽清除代码,也不行
2025-01-09 16:53
2***@qq.com (作者)
回复 套马杆的套子: 我将所有的uni.clearStorageSync全都屏蔽掉,然后就可以读取了,但是有的key是别的值,跟这个并不相同,为什么会有影响?
2025-01-09 17:22
2***@qq.com (作者)
回复 套马杆的套子: 我又试了,确实是onload里代码的影响,但是onload里的key和无法获取到的数据的key不是同一个
2025-01-09 17:31