HarmonyOS LocalStorage使用

官方关于LocalStorage的说明: https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/arkts-localstorage-0000001524537149-V2

说了些页面间,组建内关于LocalStorage的使用方法。这里就不再赘述。

但是关于如何在 UIAbility和 Page之间传递没有说。为啥我会这么问呢,因为我需要这么传:

javascript 复制代码
onWindowStageCreate(windowStage: window.WindowStage): void {
    windowStage.loadContent('pages/MainPage', localStorage);
  }

我需要把 UIAbility中的参数传递到第一个需要加载到页面中去,而且 windowStage.loadContent() 方法本来就可以传递一个 localStorage 的。

也就是如何将LocalStorage实例从UIAbility共享到一个或多个视图。

javascript 复制代码
export default class MainAbility extends UIAbility {

  localStorage = new LocalStorage();

  async onCreate(want: Want): Promise<void> {
    if (want?.uri != null && want.uri.length > 0) {
      let routePage = want.parameters?.['page'] as string;
      let routePageParam = want.parameters as Record<string, object>

      this.localStorage.clear()
      this.localStorage.setOrCreate('page', routePage)
      this.localStorage.setOrCreate('params', routePageParam)
    }
  }

  onWindowStageCreate(windowStage: window.WindowStage): void {
    windowStage.loadContent('pages/MainPage', this.localStorage);
  }
}

页面中:

javascript 复制代码
let storage = LocalStorage.getShared()
@Entry(storage)
@Component
struct MainPage {

  @State notificationState: string = ''
  private clickBackTimeRecord: number = 0;
  @LocalStorageProp('page') page: string = ''
  @LocalStorageProp('params') params: Record<string, object> = {}
}
相关推荐
鸿蒙小白龙4 分钟前
openharmony之恢复出厂设置需求总结
harmonyos·鸿蒙·鸿蒙系统
深海的鲸同学 luvi1 小时前
【HarmonyOS】H5 实现在浏览器中正常跳转 AppLinking 至应用
华为·harmonyos
zhanshuo12 小时前
HarmonyOS 实战:学会在鸿蒙中使用第三方 JavaScript 库(附完整 Demo)
harmonyos
zhanshuo12 小时前
鸿蒙应用权限处理全攻略:从配置到相机拍照,一篇文章讲透
harmonyos
AlbertZein14 小时前
HarmonyOS5 凭什么学鸿蒙—— GetContext
架构·harmonyos
森之鸟17 小时前
flutter项目适配鸿蒙
flutter·华为·harmonyos
奶糖不太甜19 小时前
鸿蒙图片资源加载全攻略:从基础到性能优化
harmonyos·图片资源
小小小小小星19 小时前
鸿蒙多端适配开发指南:从入门到实战
harmonyos
鸿蒙小灰19 小时前
鸿蒙开发之仿抖音APP教程:方法论与技术探索
harmonyos
CC__xy19 小时前
04 类型别名type + 检测数据类型(typeof+instanceof) + 空安全+剩余和展开(运算符 ...)简单类型和复杂类型 + 模块化
开发语言·javascript·harmonyos·鸿蒙