HarmonyOS页面跳转和页面间传值

IndexPage

在这里插入图片描述

  • 定义一个参数类
export class RouterParams {
  src:string
  constructor(str:string) {
    this.src = str
  }
}
  • 点击按钮后,将创建的RouterParams 对象传递到第二页
        Button($r('app.string.next'))
          .fontSize(16)
          .width(300)
          .height(50)
          .backgroundColor($r('app.color.button_bg'))
          .onClick(() => {
            router.pushUrl({
              url: 'pages/SecondPage',
              params: new RouterParams('Index页面传来的数据')
            }).catch((error:Error) => {
              Logger.info(TAG, 'IndexPage push error' + JSON.stringify(error));
            });
          })

SecondPage

在这里插入图片描述


import { router } from '@kit.ArkUI';
import CommonConstants from '../common/constants/CommonConstants';
import { RouterParams } from './IndexPage';

@Entry
@Component
struct SecondPage {
  @State params: RouterParams = router.getParams() as RouterParams
  @State src: string = this.params.src;

  build() {
    Row() {
      Column() {
        Text('第二页')
          .fontSize(38)
          .fontWeight(FontWeight.Bold)

        Text(this.src)
          .fontSize(16)

        Blank()
        Button($r('app.string.back'))
          .fontSize(16)
          .width(300)
          .height(50)
          .backgroundColor($r('app.color.button_bg'))
          .onClick(() => {
            router.back();
          })
      }
      .width(CommonConstants.FULL_WIDTH)
      .height(CommonConstants.LAYOUT_HEIGHT)
    }
    .height(CommonConstants.FULL_HEIGHT)
    .backgroundColor($r('app.color.page_bg'))
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值