向后导航两页或N页的最佳方法是什么。我已经使用了remove方法然后弹出,但我更倾向于直接转换到第N页,而不是暂时看到视图向后迭代。
答案 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' })