鸿蒙:获取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
相关推荐
yuegu77736 分钟前
HarmonyOS应用<节气通>开发第21篇:CategoryGrid组件封装
华为·harmonyos
yuegu77741 分钟前
HarmonyOS应用<节气通>开发第25篇:HTTP请求封装
网络协议·http·harmonyos
yuegu77743 分钟前
HarmonyOS应用<节气通>开发第22篇:HolidayCard组件封装
华为·harmonyos
芒鸽1 小时前
HarmonyOS ArkUI 组件开发实战:自定义组件与高级布局详解
华为·harmonyos
IT大白鼠1 小时前
BGP多归属技术原理与应用实践
网络·网络协议·华为
祭曦念1 小时前
鸿蒙Next实战-笑话大全App开发
华为·harmonyos
三声三视2 小时前
Electron 鸿蒙快捷键全失灵,我排查了六个小时
华为·electron·harmonyos·鸿蒙
风华圆舞2 小时前
鸿蒙构建失败时,先查 Flutter 还是先查 Hvigor
flutter·华为·harmonyos
YM52e2 小时前
鸿蒙HarmonyOS ArkTS 实战:教师座椅出入记录 APP 从零到一
学习·华为·harmonyos·鸿蒙系统
狼哥16862 小时前
蛋糕美食元服务_订单实现指南
ui·harmonyos