HarmonyOS 路由参数如何接收?

路由参数接受类型接口怎么转换?

 interface routerParamsType{  
  ID:number  
}

方法一:

let str:string = router.getParams()['ID'] as string

方法二:

const params:string= JSON.stringify(router.getParams())   
const param:routerParamsType =JSON.parse(params);   
const id:number=param['ID']

这两个方法使用都会报错。

HarmonyOS
2024-10-18 10:58:19
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
superinsect

可参考以下demo:

import { router } from '@kit.ArkUI'  
@Entry  
@Component  
struct PageA {  
  build() {  
    Column() {  
      Button('跳转至PageB')  
        .onClick(() => {  
          router.pushUrl({  
            url: "pages/test/PageB"  
          })  
        })  
      Button('跳转至PageC')  
        .onClick(() => {  
          router.pushUrl({  
            url: "pages/test/PageC"  
          })  
        })  
    }.width('100%').height('100%').alignItems(HorizontalAlign.Center).justifyContent(FlexAlign.Center)  
  }  
  onPageShow(): void {  
    let params = router.getParams() as result;  
    if (params?.page == 'PageB') {  
      console.info('page B')  
    } else if (params?.page == 'PageC') {  
      console.info('page C')  
    }  
  }  
}  
class result {  
  page: string  
  result: PageResult  
  constructor(page: string, result: PageResult) {  
    this.page = page  
    this.result = result  
  }  
}  
export class PageResult{  
}
分享
微博
QQ
微信
回复
2024-10-18 18:16:55
相关问题
HarmonyOS 路由页面接收回传参数方式
856浏览 • 1回复 待解决
路由传入参数有大小限制吗
855浏览 • 1回复 待解决
HarmonyOS 无法接收事件
235浏览 • 1回复 待解决
HarmonyOS EmitterData在接收如何解析?
348浏览 • 1回复 待解决
HarmonyOS路由问题该如何解决
324浏览 • 1回复 待解决
HarmonyOS 项目路由管理
436浏览 • 1回复 待解决
HarmonyOS 路由跳转咨询
332浏览 • 1回复 待解决
HarmonyOS 路由返回页面问题
399浏览 • 0回复 待解决
HarmonyOS router路由跳转问题
455浏览 • 0回复 待解决
关于如何使用鸿蒙接收视频流
3702浏览 • 0回复 待解决