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
2天前
浏览
收藏 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
微信
回复
2天前
相关问题
如何获取WindowStage实例下的主窗口
516浏览 • 1回复 待解决
arkTS无法创建窗口有了解的吗?
2260浏览 • 0回复 待解决
HarmonyOS window.findWindow获取窗口错误
474浏览 • 1回复 待解决
HarmonyOS 模块页面跳转
23浏览 • 1回复 待解决
page中怎么获取WindowStage
1845浏览 • 1回复 待解决
HarmonyOS 窗口路由切换问题
166浏览 • 1回复 待解决
HarmonyOS @Expend模块使用问题
409浏览 • 1回复 待解决
HarmonyOS 能否模块使用@Styles
337浏览 • 1回复 待解决
如何在page中获取WindowStage
806浏览 • 1回复 待解决
使用dialog窗口实现红包雨窗口创建
808浏览 • 1回复 待解决
HarmonyOS 窗口是否可手势移动
87浏览 • 1回复 待解决