HarmonyOS 跨模块创建子窗口,没能获取到WindowStage

1、在工程entry/EntryAbility.ets 里的onWindowStageCreate方法下添加了:

AppStorage.setOrCreate('windowStage', windowStage)

2、在另一个模块(A)的自定义page里:

@Entry
@Component
export struct A {
  @State windowStage: window.WindowStage | undefined = AppStorage.get('windowStage')

  build() {
    Button("show window")
      .onClick(event => {
        BNameSpace.CreateSubWindow(this.windowStage, 300, 300, 500, 500)
      })
  }
}

点击 button,this.windowStage是null。

HarmonyOS
2024-12-24 16:50:28
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
put_get

可以通过@Entry({routeName: entryName, storage : LocalStorage.getShared()})获取,参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-window-V5#loadcontentbyname11-1

目前WindowStage仅在onWindowStageCreate()中存在,如果需要在页面文件中获取,可以使用AppStorage进行全局存储。

分享
微博
QQ
微信
回复
2024-12-24 19:58:33
相关问题
如何获取WindowStage实例下的主窗口
643浏览 • 1回复 待解决
HarmonyOS 创建窗口后相关问题
57浏览 • 1回复 待解决
arkTS无法创建窗口有了解的吗?
2423浏览 • 0回复 待解决
HarmonyOS window.findWindow获取窗口错误
582浏览 • 1回复 待解决
HarmonyOS 模块无法跳转
264浏览 • 1回复 待解决
page中怎么获取WindowStage
1971浏览 • 1回复 待解决
HarmonyOS 模块页面跳转
292浏览 • 1回复 待解决
HarmonyOS 如何拖拽窗口
169浏览 • 1回复 待解决
如何在page中获取WindowStage
937浏览 • 1回复 待解决