HarmonyOS page间跳转传递对象类型的参数无法跳转

HarmonyOS page间跳转传递对象类型的参数无法跳转。

HarmonyOS
2024-10-09 12:13:59
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
put_get

params参数不能传递方法和系统接口返回的对象(例如,媒体接口定义和返回的PixelMap对象)。建议开发者提取系统接口返回的对象中需要被传递的基础类型属性,自行构造object类型对象进行传递。文档路径:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-system-router-V5#routeroptions

另外router仅支持传递简单对象,即不支持传递方法,仅支持传递属性,推荐使用navigation传参,支持复杂对象类型。

参考demo:

class innerParams {  
  data3:number[]  
  constructor(tuple:number[]) {  
    this.data3 = tuple  
  }  
}  
class routerParams {  
  data1:string  
  data2:innerParams  
  constructor(str:string, tuple:number[]) {  
    this.data1 = str  
    this.data2 = new innerParams(tuple)  
  }  
}  
router.pushUrl({  
  url: 'pages/routerpage2',  
  params: new routerParams('message' ,[123,456,789])  
}, (err) => {  
  if (err) {  
    console.error(`pushUrl failed, code is ${err.code}, message is ${err.message}`);  
    return;  
  }  
  console.info('pushUrl success');  
})
分享
微博
QQ
微信
回复
2024-10-09 17:34:03
相关问题
Page Ability 无法实现跳转
8705浏览 • 1回复 待解决
HarmonyOS page跳转白屏
544浏览 • 1回复 待解决
HarmonyOS 如何模块下页面跳转
193浏览 • 1回复 待解决
模块页面跳转怎么跳
396浏览 • 1回复 待解决
HarmonyOS router无法跳转,并报错。
500浏览 • 1回复 待解决
如何实现上下切换页面跳转动画
1952浏览 • 0回复 待解决