Angular 7&ionic 4 Router - 传递方法

问题描述 投票:0回答:1

我正在推动混合移动应用中的角度路由器。(从离子3升级到4)。一个我的scnerio,我想将该方法作为查询参数传递给另一个页面。例如,从“学生详细信息页面”调用页面“studentEditPage”并将“更新”方法名称传递给学生编辑页面。在弹出“StudentEditPage”之前,它会调用update方法然后弹出。我想在navigation中传递查询方法中的方法,但它不接受离子4中的方法。我们是否能够在查询参数中将该方法作为参数传递

来自StudentDetailPage

  let navigationExtras : NavigationExtras = {
      state : {
        param : { detail: "editcategory", value: studentName, callback: this.updateStudentCallback, }
      }
    }
    that.router.navigate(['studentDetailsPage'],navigationExtras); Here "this.updateStudentCallback" as a method.

来自StudentEditPage:

    this.updateStudentCallback(tempEmpData).then(() => {
    this.navigate.router(['studentEditPage'])
});

我用谷歌搜索并搜索角柱但无法得到正确的结果。提前致谢。

angular7 ionic4
1个回答
0
投票

那么你可以像这样:

你想在哪里发送/传递id / param把id放在app-routing.module.ts文件上

{ path: 'studentedit/:sid', loadChildren: './studentedit/studentedit.module#StudentEditPageModule'},

然后在html文件中

<h1 (click)="gotoUpdate(std.studentID)" >click</h1>

在ts文件中

gotoProductlist(studentID: string) {
  this.navCtrl.navigateForward('/studentUpdate/' + studentID);
}

在编辑页面

ngOnInit() {
   // Get the ID that was passed with the URL
   let id = this.activatedroute.snapshot.paramMap.get('sid');
}

那么你可以从另一个页面获取id。

希望它能帮到你:)

© www.soinside.com 2019 - 2024. All rights reserved.