我目前正在试图弄清楚如何返回Ionic 4上的页面。我创建了一个Ionic 4项目,我认为该项目默认为用于导航的路由器。
应用程序在家里打开,我正在执行的步骤:
1)选择菜单选项
2)导航到#1(第1页)中的选定项目
3)在第1页中,您可以通过ion-back-button defaultHref
返回。在此页面中,有一个离子列表,我可以单击并查看更多详细信息
4)单击使我进入第2页的项目(您也可以返回此处)
5)在第2页中,您可以单击另一个列表
6)单击一个项目,将您带到第3页。
示例:
=>主页=>水果列表=>橙子类型列表=>所选橙子类型的详细信息
这是最后一页。我要尝试做的是,一旦在步骤号上单击了某个项目,便会发现。如图6所示,如果无法加载数据,则显示带有“关闭”按钮的警报。我正在尝试将此警报按钮与操作绑定在一起,以便返回。
我找到的答案是使用定位服务并绑定此操作:
this.location.back();
我有,但是这会将用户带回到首页而不是上一页。另一个答案是使用NavController,但是我不需要完全更改应用程序的路由来使用它吗?有什么方法可以返回上一页吗?
这是我用来导航到页面的方法:
this.router.navigate(['page1'],{replaceUrl: false});
我可以使用相同的东西回去,但是它没有正确的动画,如果我过去回去,我认为路由会变得混乱。
更新
运行离子版本5.4.1
更多信息:
this.alertCtrl
.create({
header: 'Error',
message: 'Failed to Load Data. Please try again later.',
buttons: [
{
text: 'Close',
handler: () => {
this.location.back(); // Return to Home instead of Page 2 (the previous page)
}
}
]
})
.then(alertEl => {
alertEl.present();
});
这可以正常工作,但不是我想要的,因为当我单击警报关闭按钮时,是通过编程方式进行的:
<ion-header>
<ion-toolbar>
<ion-buttons slot="start">
<ion-back-button defaultHref="/page2"></ion-back-button>
</ion-buttons>
<ion-title>
</ion-title>
</ion-toolbar>
</ion-header>
仍然没有答案