业务场景:
项目中,我的tabs第一个页面是 HomePage 。
在子页面的子页面需要跳转回HomePage 时 ,刚开始直接使用push("TabsPage") ,发现路由重复了。
查阅API之后发现有个方法叫popToRoot() 返回根路由。但是只能返回进入当前页的tab跟路由。(比如我是点击第二个tab进入的子页面,返回的就是第二个tab的根页面。但是此时我需要返回到第一个。)
解决办法:
在点击左上角返回键的时候,执行
this.navCtrl.parent.select(0);
可以使路由返回到第一个tab页。(页面并没有改变);
此时再加上一句
this.navCtrl.push('TabsPage');
就OK啦
二。如果想返回tabs下的第二个页面、第三个 或者更多。
我的做法是:
在需要跳转返回的页面加上index参数。指明跳转到tabs的第几个页面,
需要跳转的页面
this.navCtrl.push('TabsPage',{
params:{
index:3
}
});
在tabs页面中写这段话:
ionViewWillEnter(){
if(this.navParams.data.params && this.navParams.data.params.index){
this.tabRef.select(3);
}
}