HarmonyOS Navigation使用系统路由表,页面无法接收到参数

HarmonyOS
7h前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
FengTianYa

参考以下demo

//index.ets
@Builder
routerMap(builderName: string, param: object) {
  if (builderName === 'featureA') {
    FeatureIndex(param);
  }
};

aboutToAppear(): void {
  this.entryHapRouter.pushPathByName( "featureA", "测试", true)
}

//FeatureIndex.ets
@Builder
export function FeatureIndex(value: object) {
  NavDestination() {
    Column() {
      Text('Hello FeatureA Page')
      Text(`传入的参数:${JSON.stringify(value)}`)
        .margin(20)
    }
    .width('100%')
    .height('100%')
  }
  .hideTitleBar(true)
}


//路由表的方式传递参数:
//index.ets
@Entry
@Component
struct NavigationExample {
  //绑定 NavPathStack
  @Provide('NavPathStack')pageInfo: NavPathStack = new NavPathStack()

  build() {
    Navigation(this.pageInfo) {
      Column() {
        Button('StartTest', { stateEffect: true, type: ButtonType.Capsule })
          .width('80%')
          .height(40)
          .margin(20)
          .onClick(() => {
            this.pageInfo.pushPath({ name: 'pageOne',param:"测试参数" });
          })
      }
    }.title('NavIndex')
    .backgroundColor(Color.Orange)

  }
}


//PageOne.ets 子页面绑定NavPathStack
@Consume('NavPathStack') pageInfo: NavPathStack;

aboutToAppear(): void {
  this.message = this.pageInfo.getParamByIndex(0) as string
  console.log(JSON.stringify(this.pageInfo));
}
分享
微博
QQ
微信
回复
6h前
相关问题
HarmonyOS 路由页面接收回传参数方式
999浏览 • 1回复 待解决
HarmonyOS 路由参数如何接收
407浏览 • 1回复 待解决
自定义路由表的实现方法
450浏览 • 1回复 待解决
HarmonyOS webview加载页面无法显示
663浏览 • 1回复 待解决
HarmonyOS Har静态包内部页面无法跳转
486浏览 • 1回复 待解决
HarmonyOS 无法接收事件
242浏览 • 1回复 待解决
如何使用Navigation的navPathStack参数
1401浏览 • 1回复 待解决