HarmonyOS 鸿蒙Next:har中创建的子窗口加载页面,不能展示

发布于 1周前 作者 ionicwang 来自 鸿蒙OS

HarmonyOS 鸿蒙Next:har中创建的子窗口加载页面,不能展示

通过下面方法在 har 包中创建的子窗口来加载页面,加载成功没有报错,子窗口也成功展示。但是没有展示界面内容,原因可能是?

// 加载界面

(sub_windowClass as window.Window).loadContentByName(’./components/MainPage’, (err: BusinessError) => {}

// 展示子窗口

(sub_windowClass as window.Window).showWindow((err: BusinessError) => {}

2 回复

研究出来了,原来是命名路由的形式搞错了。

正确处理:

// MainPage.ets
export const myMainPage : string = 'myMainPage';
[@Entry](/user/Entry)({ routeName: myMainPage })<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>

加载:

import * as MainPage from './components/MainPage'; // 导入命名路由页面

(sub_windowClass as window.Window).loadContentByName(MainPage.myMainPage, (err: BusinessError) => {}<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>

针对HarmonyOS鸿蒙Next中子窗口加载页面不能展示的问题,可能原因包括:

  1. 路径配置错误:检查加载页面的路径是否正确,并确保该路径已添加到工程的main_pages.json文件中。
  2. 权限问题:确保应用已声明必要的权限,如网络权限(ohos.permission.INTERNET),以加载在线页面。
  3. 窗口管理错误:检查WindowStage或Window对象的调用是否正确,确保在正确的生命周期阶段加载页面。

如果问题依旧没法解决,请加我微信,我的微信是itying888,以便进一步分析和解决问题。

回到顶部