this.router.navigate返回上一页ionic 4应用程序

时间:2019-10-10 12:03:27

标签: angular ionic4 router

我目前正在试图弄清楚如何返回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>

仍然没有答案

0 个答案:

没有答案