HarmonyOS 鸿蒙Next:使用router进行页面跳转,将一个方法作为参数传递时,下一个页面获取到是undefined
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
看到了,多谢