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

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

AppStorage.setOrCreate('windowStage', windowStage)
  • 1.

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)
      })
  }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.

点击 button,this.windowStage是null。

HarmonyOS
2024-12-24 16:50:28
981浏览
收藏 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


相关问题
stage模式下,如何获取到windowStage对象
1107浏览 • 1回复 待解决
如何获取WindowStage实例下的主窗口
980浏览 • 1回复 待解决
HarmonyOS 创建窗口后相关问题
490浏览 • 1回复 待解决
arkTS无法创建窗口有了解的吗?
2943浏览 • 0回复 待解决
HarmonyOS window.findWindow获取窗口错误
1152浏览 • 1回复 待解决
page中怎么获取WindowStage
2407浏览 • 1回复 待解决
HarmonyOS 如何拖拽窗口
521浏览 • 1回复 待解决
HarmonyOS 模块无法跳转
919浏览 • 1回复 待解决
HarmonyOS 模块页面跳转
857浏览 • 1回复 待解决
如何在page中获取WindowStage
1377浏览 • 1回复 待解决