popTo 在离子中不起作用

popTo does not work in ionic

我正在使用 ionic3。

我开发电子商务应用程序。

如果用户已经登录转到发货页面。

然后单击导航栏后退按钮,转到登录页面。

但我需要 如果用户通过身份验证 不会转到登录页面。

因为我分配了一个局部变量。

这是我的代码。

<ion-navbar>
    <ion-title>Shipping Address</ion-title>
    <ion-buttons end>
        <button ion-button  (click)="goback()" >
          <ion-icon class="customIcon" name="arrow-back"></ion-icon>
        </button>
    </ion-buttons>
  </ion-navbar>



goback()
  {
    console.log("HOBACK")
    if(this.Page == 'Signin')
    {
      this.navCtrl.popToRoot('CartPage');   
    }
  
  }

页面是一个查询参数 value.I 刚刚在 nav.push() 中传递了值。

我的问题

popToRoot 不起作用,为什么?

它也转到上一页(Backhistory)。

我认为您需要重新设计应用程序的登录流程。这是我的建议,一旦用户登录,不要推送 ShippingPage,而是将其设置为根页面。通过这样做,您在登录后将不会在发货页面上看到后退按钮。

例如

而不是nav.push(ShippingPage);nav.setRoot(ShippingPage);

popToRoot 函数而言,它按照文档定义的方式工作,即它导航回堆栈的根,在您的例子中是 LoginPage。

在 Ionic popto 方法中,参数采用页面索引而不是您导入的名称,因此只需添加 like

nav.popTo( this.navCtrl.getByIndex(1))

试试这个;