离子4角度后退按钮到上一页而不是根?

问题描述 投票:2回答:3

我有一个带有2个标签和1个细节页面的Ionic 4 App。我在这里遇到的问题是,如果我从Tab2进入细节页面并从那里用ion-back-button返回它总是将我重定向到Tab1而不是我之前的Tab2。

这是我的例子:

Tab2 Html:这里有一个带有click事件的简单离子项:

        <ion-item class="chat-item" (click)='openChat()' >

它调用open Chat函数,其工作方式如下:

          openChat() {
            this.router.navigateByUrl('/chatdetail/:uid');
          }

现在它打开我的Chatdetail页面,我在其中放置了一个后退按钮,导航回来像这样:

    <ion-header>
      <ion-toolbar>
          <ion-buttons slot="start">
              <ion-back-button></ion-back-button>
           </ion-buttons>
        <ion-title>chatdetail</ion-title>
      </ion-toolbar>
    </ion-header>

但是,当我单击此按钮时,它不仅像在Ionic3中那样“弹出”页面,而是将它指向我的应用程序的根页面,即Tab1。

有没有办法覆盖那个回事件去我之前的页面?

angular routing back-button ionic4
3个回答
3
投票

更新:

Ionic团队在Ver:4.3.0上修复了这个问题

你需要像这样使用defaultHref="/Tab2"

  <ion-back-button defaultHref="/Tab2"></ion-back-button>

在没有历史记录时默认导航回的URL。

https://ionicframework.com/docs/api/back-button

怎么去上一页?

import { Location } from "@angular/common";

constructor(private location: Location) { }

myBackButton(){
  this.location.back();
}

0
投票

你应该导航为

    <ion-item class="chat-item" [routerLink]="[/chatdetail, 123]" routerDirection="forward">

routerDirection =“forward”在Tabs页面上堆叠detailPage,您将被导航回右侧标签页


0
投票

通过使用nav-control,我们可以像以下一样回去

在构造函数中添加public navCtrl:NavController

back(){
  let animations:AnimationOptions={
    animated: true,
    animationDirection: "back"
  }
  this.navCtrl.back(animations)
}
© www.soinside.com 2019 - 2024. All rights reserved.