鸿蒙:获取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
相关推荐
xmdy586613 小时前
Flutter+开源鸿蒙实战|智联邻里Day1 项目搭建+环境适配+架构规划(十五五民生创新版)
flutter·开源·harmonyos
maaath13 小时前
【maaath】Flutter for OpenHarmony 音乐播放器应用实战开发
flutter·华为·harmonyos
key_3_feng13 小时前
鸿蒙6.0 Wi-Fi IoT智能家居入门方案
物联网·智能家居·harmonyos
想你依然心痛14 小时前
HarmonyOS 6(API 23)实战:基于悬浮导航、沉浸光感与Face AR的“音律工坊“——PC端沉浸式音乐创作与编曲工作站
华为·ar·harmonyos·悬浮导航·沉浸光感
maaath14 小时前
【maaath】 Flutter for OpenHarmony 实战:图片壁纸应用开发指南
flutter·华为·harmonyos
maaath14 小时前
【maaath】Flutter for OpenHarmony:跨平台天气应用开发指南
flutter·华为·harmonyos
maaath14 小时前
【maaath】Flutter for OpenHarmony 宠物社区应用实战开发
flutter·华为·harmonyos
maaath14 小时前
【maaath】Flutter for OpenHarmony 实战:健身运动应用的跨平台开发指南
flutter·华为·harmonyos
Swift社区14 小时前
传统游戏引擎 vs 鸿蒙 System 架构
架构·游戏引擎·harmonyos
maaath14 小时前
【maaath】 Flutter for OpenHarmony 新闻资讯应用实战开发
flutter·华为·harmonyos