在自定义组件中, 如何获取在EntryAbility中存储的AppStorage信息

在自定义组件中, 如何获取在EntryAbility中存储的AppStorage信息

HarmonyOS
2024-08-03 13:14:46
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
wjmfzsz

请参考:

在页面加载成功后获取屏幕数据

onWindowStageCreate(windowStage: window.WindowStage): void { 
  // Main window is created, set main page for this ability 
  hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageCreate'); 
 
  windowStage.loadContent('pages/Index', (err, data) => { 
  if (err.code) { 
  hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? ''); 
  return; 
} 
hilog.info(0x0000, 'testTag', 'Succeeded in loading the content. Data: %{public}s', JSON.stringify(data) ?? ''); 
 
let displayManagerInstance = displayManager.getDefaultDisplaySync() 
 
AppStorage.setOrCreate('displayWidth', displayManagerInstance.width); 
AppStorage.setOrCreate('densityPixels', displayManagerInstance.densityPixels); 
AppStorage.setOrCreate('displayWidthVp', displayManagerInstance.width / displayManagerInstance.densityPixels ); 
}); 
}

在自定义组件中获取值

@Component 
struct showDemo { 
  @State displayWidthVp: number = 0; 
  aboutToAppear(): void { 
    this.displayWidthVp = AppStorage.get<number>('displayWidthVp') as number 
    console.info(' 屏幕宽度 vp值:' + this.displayWidthVp) 
  } 
  build() { 
    Row() { 
      Column() { 
        Text('屏幕宽度:' + this.displayWidthVp) 
          .fontSize(50) .fontWeight(FontWeight.Bold) 
      } 
      .width('100%') 
    } 
    .height('100%') 
  } 
}
分享
微博
QQ
微信
回复
2024-08-04 13:38:48
相关问题
注册自定义字体 webview 无效
2307浏览 • 1回复 待解决
自定义组件如何添加图片?
2574浏览 • 1回复 待解决
自定义组件中使用@ObjectLink报错
1202浏览 • 1回复 待解决
自定义组件里使用watch监听
452浏览 • 1回复 待解决
c++实例化自定义类并调用方法
313浏览 • 1回复 待解决