鸿蒙:获取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