HarmonyOS鸿蒙Next中Router模块的pushUrl参数传递类型限制

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

HarmonyOS鸿蒙Next中Router模块的pushUrl参数传递类型限制 使用router.pushUrl跳转页面时,若传递对象参数(如{ id: 123, data: { name: ‘test’ } }),目标页面通过router.getParams获取时,对象结构会被序列化为字符串。是否只能传递基本类型数据?如何安全传递复杂对象?

3 回复
router.pushUrl({
  url:"xxx",
  params: { id: data.id }
})
let params = router.getParams() as Record<string, Object>;

试试这么写

更多关于HarmonyOS鸿蒙Next中Router模块的pushUrl参数传递类型限制的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,Router模块的pushUrl方法用于页面跳转,其参数传递类型受到限制。pushUrl方法接收两个参数:urlparamsurl为字符串类型,表示目标页面的路径;params为对象类型,用于传递页面间数据。params对象中的键值对必须为可序列化的数据类型,包括字符串、数字、布尔值以及这些类型的数组或对象。不可序列化的数据类型(如函数、Symbol等)无法通过pushUrl传递。

在HarmonyOS鸿蒙Next中,Router模块的pushUrl方法用于页面跳转,其参数传递类型有一定的限制。pushUrl方法接受一个RouterOptions对象作为参数,其中url属性指定目标页面的路径。传递的参数可以通过params属性进行设置,但params仅支持传递基本数据类型(如stringnumberboolean等)以及可序列化的对象。复杂对象或不可序列化的对象无法直接传递,需先进行序列化处理。

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