离子3 - 导航或弹回N页

时间:2017-11-30 11:38:21

标签: angular typescript ionic2 ionic3

向后导航两页或N页的最佳方法是什么。我已经使用了remove方法然后弹出,但我更倾向于直接转换到第N页,而不是暂时看到视图向后迭代。

1 个答案:

答案 0 :(得分:1)

由于您要导航到的页面是根页,您可以将该页面设置为root并为该过渡设置动画,如下所示:

// Will look like you're going to a new page
this.navCtrl.setRoot(YourPage, {}, { animate: true, direction: 'forward' });

或者

// Will look like you're returning to a previous page 
this.navCtrl.setRoot(YourPage, {}, { animate: true, direction: 'back' });

更多信息: NavOptions docs

修改

  

我不喜欢这个解决方案,因为当你这样做时,页面的生命周期似乎被重置,再次进入你设置为root的页面的构造函数 - 有没有办法防止这种情况?

在这种情况下,您可以使用 popToRoot ,如果需要也可以使用动画:

this.navCtrl.popToRoot({ animate: true, direction: 'forward' })

或者

this.navCtrl.popToRoot({ animate: true, direction: 'back' })