HarmonyOS LocalStorage使用

官方关于LocalStorage的说明: https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/arkts-localstorage-0000001524537149-V2
说了些页面间,组建内关于LocalStorage的使用方法。这里就不再赘述。

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

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

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

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

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);
  }
}

页面中:

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> = {}
}

相关推荐

  1. conda使用,pip使用

    2024-06-06 17:36:01       58 阅读
  2. VueUse使用

    2024-06-06 17:36:01       68 阅读
  3. Git<span style='color:red;'>使用</span>

    Git使用

    2024-06-06 17:36:01      60 阅读
  4. netty使用

    2024-06-06 17:36:01       55 阅读
  5. gdb<span style='color:red;'>使用</span>

    gdb使用

    2024-06-06 17:36:01      63 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-06 17:36:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-06 17:36:01       101 阅读
  3. 在Django里面运行非项目文件

    2024-06-06 17:36:01       82 阅读
  4. Python语言-面向对象

    2024-06-06 17:36:01       91 阅读

热门阅读

  1. ceph报错整理

    2024-06-06 17:36:01       34 阅读
  2. Debian12安装K8S

    2024-06-06 17:36:01       28 阅读
  3. Linux 环境搭建与常用命令指南

    2024-06-06 17:36:01       29 阅读
  4. [docker] docker-compose-redis.yml

    2024-06-06 17:36:01       32 阅读
  5. 风控场景下文本分类-实战

    2024-06-06 17:36:01       34 阅读
  6. 一键安装docker脚本

    2024-06-06 17:36:01       30 阅读
  7. Milvus向量数据库:开启向量搜索新纪元

    2024-06-06 17:36:01       36 阅读
  8. VsCode个人插件

    2024-06-06 17:36:01       35 阅读