我正在推动混合移动应用中的角度路由器。(从离子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'])
});
我用谷歌搜索并搜索角柱但无法得到正确的结果。提前致谢。
那么你可以像这样:
你想在哪里发送/传递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。
希望它能帮到你:)