鸿蒙:获取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
相关推荐
猫林老师10 小时前
HarmonyOS分布式硬件共享:调用手机摄像头的手表应用
华为·交互·harmonyos
前端世界15 小时前
HarmonyOS应用开发指南:Toast无法显示的完整排查流程与实战案例
华为·harmonyos
安卓开发者17 小时前
鸿蒙NEXT Wear Engine穿戴侧应用开发完全指南
ubuntu·华为·harmonyos
安卓开发者17 小时前
鸿蒙Next振动开发指南:打造沉浸式触觉反馈体验
华为·harmonyos
Devil枫17 小时前
HarmonyOS屏幕方向适配指南
华为·harmonyos
li理20 小时前
鸿蒙Image Kit深度解析:从图片解码到高级特效处理
harmonyos
li理20 小时前
鸿蒙相机开发中篇:自定义 UI 与拍摄控制
harmonyos
misty youth1 天前
配置openguass 教程(自存)
数据库·ubuntu·华为·openguass
鸿蒙小白龙1 天前
OpenHarmony 与 HarmonyOS 的 NAPI 开发实战对比:自上而下与自下而上的差异解析
harmonyos·鸿蒙·鸿蒙系统·open harmony
喵手1 天前
【参赛心得】从“碰一碰”到“服务流转”:HarmonyOS创新赛金奖作品“智游文博”全流程复盘!
华为·harmonyos·鸿蒙应用开发·1024征文