我当前正在将我的公司的应用程序从离子V3更新为离子V4。我坚持尝试弄清楚如何动态返回用户所打开的上一页。我一直在找到this.router.navigate(['pagename'])
或this.navCtrl.navigateBack('pagename')
的答案,但是,我们的应用程序中有多个入口点,这是问题所在的地方。我们曾经使用this.navCtrl.pop
,它会将用户带回他们来自的任何页面...是否等同于此,因为我不知道用户将来自哪个页面?
您必须使用这些解决方案。这些将适用于您的离子4项目。
首先 import { Location } from '@angular/common';
private location: Location,
gotoBack() {
this.location.back();
}
第二是
import { NavController } from '@ionic/angular';
constructor(
private navCtrl: NavController
) { }
gotoBack() {
this.navCtrl.back();
}
来自 docs ,似乎您仍然可以在离子4中使用pop()
方法:
pop
描述:从导航堆栈中弹出一个组件。导航 从当前组件返回。
签名:
pop(opts?: NavOptions | null | undefined, done?: TransitionDoneFn | undefined) => Promise<boolean>
所以它会像 this.navCtrl.pop();
Note :请注意,这可能会根据您处理导航的方式(来自插座,来自模态组件,...(可能无法正常工作,因此工作请添加有关您如何导航到应用程序中该地图页面的更多信息,以便我们可以根据其查看其他选项。