鸿蒙:获取UIContext实例的方法

前言:

我们在开发鸿蒙应用的过程中会经常用到UIContext实例,下面就给大家提供两种获取的方案,一种是组件内使用,一种是全局使用。

方案一【简单】:

在任意的有@component装饰器的组件中获取,代码如下:

复制代码
 this.getUIContext()

方案二【适合封装】:

在EntryAbility.ets中获取UIContext实例,AppStorage存储起来全局使用:

复制代码
 onWindowStageCreate(windowStage: window.WindowStage): void {

    hilog.info(DOMAIN, 'testTag', '%{public}s', 'Ability onWindowStageCreate');
    windowStage.loadContent('pages/Index', (err) => {
      // 代码如下   ·······················  ··
      let context = windowStage.getMainWindowSync().getUIContext()
      AppStorage.setOrCreate('UIContext', context)
      // 代码如上   ·······················  ··
      if (err.code) {
        hilog.error(DOMAIN, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err));
        return;
      }
      hilog.info(DOMAIN, 'testTag', 'Succeeded in loading the content.');
    });

  }

然后在类或组件中使用它:

复制代码
  uiContext: UIContext = AppStorage.get('UIContext') as UIContext
相关推荐
Industio_触觉智能5 小时前
开源鸿蒙SIG-Qt技术沙龙成都站成功举办,产品方案展示
qt·harmonyos·openharmony·开源鸿蒙·sig-qt
Android疑难杂症5 小时前
一文讲清鸿蒙网络开发
前端·javascript·harmonyos
翻斗花园胡英俊6 小时前
新手也能上手:从零写一个鸿蒙(HarmonyOS)应用的最短路径
harmonyos
不爱吃糖的程序媛8 小时前
Electron 如何判断运行平台是鸿蒙系统(OpenHarmony)
javascript·electron·harmonyos
大师兄666820 小时前
鸿蒙 ArkTS 入门教程:小白实战 List 列表开发(详解 @State, ForEach, @Builder)
list·harmonyos·arkts·builder·foreach·state·鸿蒙入门
特立独行的猫a1 天前
仓颉编程语言的并发编程:线程模型与使用实践
华为·线程·仓颉·仓颉语言
2501_919749031 天前
配置flutter鸿蒙的环境和创建并运行第一个flutter鸿蒙项目【精心制作】
flutter·华为·harmonyos
Fanmeang1 天前
华为交换机VLAN技术详解:从基础到高级应用
运维·网络·华为·vlan·交换机·mux vlan
Fanmeang1 天前
华为路由器核心技术详解:数据包的智能导航系统
运维·网络·华为·路由器·路由表·路由协议
赵得C1 天前
智能体的范式革命:华为全栈技术链驱动下一代AI Agent
人工智能·华为·ai·ai编程