OpenHarmony开发者论坛
标题:
LocalStorage.getShared() 什么场景下会失效?
[打印本页]
作者:
w00416770
时间:
2025-1-26 11:24
标题:
LocalStorage.getShared() 什么场景下会失效?
【问题描述】
问题现象和发生的背景
我有个场景:通过native回调arkts逻辑,此时LocalStorage.getShared()好像失效变成undefined了
相关的代码,截图,日志信息
(, 下载次数: 2)
上传
点击文件名下载附件
左侧是之前的逻辑,右侧为规避方法修改后的逻辑。
我尝试过的解决方法和结果
直接从context中仍能获取到信息,支持不能从LocalStorage.getShared()获取到了
我想要达到的结果
想了解LocalStorage.getShared()的存在的原理,什么情况下会失效?
【运行环境】
硬件:had pc
ROM版本:最新开发分支镜像
DevEvoStudio版本:DevEco Studio 5.0.1 Release
SDK版本:5.0.1(13)
作者:
kuaile
时间:
2025-2-14 14:02
限制条件
@LocalStorageProp/@LocalStorageLink的参数必须为string类型,否则编译期会报错。
let storage = new LocalStorage();
storage.setOrCreate('PropA', 48);
// 错误写法,编译报错
@LocalStorageProp() localStorageProp: number = 1;
@LocalStorageLink() localStorageLink: number = 2;
// 正确写法
@LocalStorageProp('PropA') localStorageProp: number = 1;
@LocalStorageLink('PropA') localStorageLink: number = 2;
@StorageProp与@StorageLink不支持装饰Function类型的变量,框架会抛出运行时错误。
LocalStorage创建后,命名属性的类型不可更改。后续调用Set时必须使用相同类型的值。
LocalStorage是页面级存储,getShared接口仅能获取当前Stage通过windowStage.loadContent传入的LocalStorage实例,否则返回undefined。例子可见将LocalStorage实例从UIAbility共享到一个或多个视图。
作者:
kuaile
时间:
2025-2-14 14:18
实例不明确就会返回undefined,这个接口已经评审废弃了,使用UIContext去拿数据
欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/)
Powered by Discuz! X3.5