HarmonyOS 鸿蒙Next 创建子页面,如何将数据传递到子页面中

发布于 1周前 作者 wuwangju 最后一次编辑是 5天前 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 创建子页面,如何将数据传递到子页面中

应用内通过悬浮窗进行音频播放控制,
1、如何将页面数据传递到悬浮窗中,将当前页面中的数据传递到FloatContent页面中去。
2、悬浮窗和播放页面双向变更刷新。

// 为悬浮窗加载页面内容,这里可以设置在main_pages.json中配置的页面
win.setUIContent(“pages/floatwindow/view/FloatContent”, (err: BusinessError) => {
if (err.code) {
console.error(‘Failed to load the content. Cause:’ + JSON.stringify(err));
return;
}
win.setWindowBackgroundColor("#00000000")
console.info(‘Succeeded in loading the content.’);
// 显示悬浮窗。
win.showWindow((err: BusinessError) => {
if (err.code) {
console.error('Failed to show the window. Cause: ’ + JSON.stringify(err));
return;
}
console.info(‘Succeeded in showing the window.’);
});
});


更多关于HarmonyOS 鸿蒙Next 创建子页面,如何将数据传递到子页面中的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

父子双向同步,可以使用[@Link](/user/Link),可参考文档https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-link-V5#简单类型和类对象类型的link

也可以使用页面级状态存储,可以使用loadContent(path: string, storage: LocalStorage)方法加载新页面并通过lcoalStorage传递参数,在新页面中通过LocalStorage.getShared()获取传入的lcoalStorage。

参考文档如下:

https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-window#loadcontent9

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-localstorage-V5

更多关于HarmonyOS 鸿蒙Next 创建子页面,如何将数据传递到子页面中的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,创建子页面并传递数据可以通过使用Intent或者全局变量来实现。以下是具体方法:

  1. 使用Intent传递数据

    • 在主页面创建Intent实例,并调用putXXXExtra方法(如putStringExtraputIntExtra等)将数据放入Intent。
    • 调用startAbility方法,传入目标页面的AbilityInfo和填充好数据的Intent。
    • 在子页面的onStart方法中,通过getIntent()获取传递的Intent,并调用getXXXExtra方法(如getStringExtragetIntExtra等)提取数据。

    示例代码:

    // 主页面
    Intent intent = new Intent();
    intent.putStringExtra("key", "value");
    startAbility(new AbilityInfo.WithElement(ElementName.parseClassName("com.example.ChildAbility")), intent);
    
    // 子页面
    String data = getIntent().getStringExtra("key");
  2. 使用全局变量传递数据

    • 定义全局变量(如静态变量)在主页面和子页面均可访问的范围内。
    • 在主页面修改全局变量的值。
    • 在子页面读取全局变量的值。

    注意:全局变量方法虽然简单,但不适合传递大量数据或敏感信息,容易引发内存泄漏和安全问题。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!