HarmonyOS 鸿蒙Next:使用router进行页面跳转,将一个方法作为参数传递时,下一个页面获取到是undefined

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

HarmonyOS 鸿蒙Next:使用router进行页面跳转,将一个方法作为参数传递时,下一个页面获取到是undefined

如下代码

传递的参数是一个方法时,取值的时候取到的是undefined

传递number等基础类型,甚至class时,是正常的

A页面跳转处

router.pushUrl({
url: “pages/login/login_view”,
params: {
‘paramNumber’: 1,
‘paramClass’:new ParamClass(),
‘paramFun’: () => true,
}
})<button id="copyCode" style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 4px; width: 62px; right: 7px; font-size: 14px; display: none;">复制</button>

B页面取值处:

let params = router.getParams() as Map<string, object>
console.info(‘params paramNumber:’ + params[‘paramNumber’] + ‘, paramClass:’ + params[‘paramClass’] +
‘, paramFun:’ + params[‘paramFun’])<button id="copyCode" style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 4px; width: 62px; right: 7px; font-size: 14px; display: none;">复制</button>

在B页面取值处的打印如下:
params paramNumber:1, paramClass:[object Object], paramFun:undefined



关于HarmonyOS 鸿蒙Next:使用router进行页面跳转,将一个方法作为参数传递时,下一个页面获取到是undefined的问题,您也可以访问:https://www.itying.com/category-93-b0.html 联系官网客服。

7 回复

期待HarmonyOS能在未来推出更多针对企业用户的解决方案。

看下api有那么难?params参数不能传递方法和系统接口返回的对象(例如,媒体接口定义和返回的PixelMap对象)。

确实没有看到相关文档,我看了三个地方: 1,官方文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-routing-V5h±/$%-+2,router.pushUrl方法的文档注释 3,编译器里提示的API Reference文档 不知道大佬是在哪儿看到的这个内容呢,有没有链接发一下,我去看看详细的说明。

另外,官方推荐使用Navigation,我也打算把router换成Navigation了

找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:https://www.bilibili.com/video/BV1S4411E7LY/?p=17

看到了,多谢

回到顶部