在自定义组件中, 如何获取在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 无效
1943浏览 • 1回复 待解决
自定义组件如何添加图片?
2240浏览 • 1回复 待解决
自定义组件中使用@ObjectLink报错
366浏览 • 1回复 待解决
自定义组件里使用watch监听
129浏览 • 1回复 待解决
鸿蒙如何自定义字体文件
18828浏览 • 1回复 待解决
如何理解自定义弹窗gridCount参数
1837浏览 • 1回复 待解决
如何自定义弹窗再次弹窗
1877浏览 • 1回复 待解决
如何自定义函数创建一个UI组件
1551浏览 • 1回复 待解决
自定义弹窗变量如何传递给页面
2171浏览 • 1回复 待解决
getContext(this)能否自定义类中使用
1931浏览 • 1回复 待解决
安卓app鸿蒙2.0无法获取定位信息
14138浏览 • 4回复 待解决
如何自定义组件原型菜单
621浏览 • 1回复 待解决
ArkTs如何自定义容器组件
2671浏览 • 1回复 待解决