离子3从选项卡式页面到普通页面

时间:2018-10-16 07:25:54

标签: ionic-framework

页面结构为:/^[QQ|qq]$/

当我单击第1页中的按钮时,我想转到第4页, 但现在我们仍然可以看到标签页,如何使page4显示为正常页面并可以返回到标签页页面。

在第1页中,我使用下面的代码转到第4页

/^QQ{2}|qq{2}$/

2 个答案:

答案 0 :(得分:1)

什么是离子性的?

如果延迟加载,也许是离子3,您是否声明了page4?

您必须像这样推动它:this.navCtr.push('page4');

如果还可以,请尝试一下(它是从应用示例中提取的):

static get parameters() {
  return [[IonicApp], [NavController], [ConferenceData], [UserData]];
}

constructor(app, nav, ...) {
  // all of the constructor code
}

tourFunction() {
  let nav = this.app.getComponent('nav');

  nav.push('page4');
}

Ref

答案 1 :(得分:1)

我认为您可以先尝试以下方法,仅用于测试以了解 这是可以实现的:

将参数传递到离子标签,如下所示:

<ion-tabs>
 <ion-tab [root]="tabMap" [rootParams]="tabParams" tabIcon="map"></ion-tab>
 <ion-tab [root]="tabList" [rootParams]="tabParams" tabIcon="list"></ion-tab>
</ion-tabs>

像这样在tabs.ts中准备参数:

  ionViewWillEnter() {
   this.tabParams.parentNav = this.navCtrl;
  }

因此,在内页(第1、2、3页)中,您可以检索它,并将其放置在变量中,例如parentNav,以及当您想跳出标签页以执行this.parentNav.push(page4)。

正确的方法,我认为是使用事件events: ionic forum

因此,在tabs.ts页面中,您可以拥有以下代码:

  events.subscribe('tabs:newPage', (page) => {
  this.navCtrl.push(page);
 });

在每个页面或服务中,您可能会拥有:

newPage(page) {
 console.log('navigate to a new page, not a tab')
 this.events.publish('tabs:newPage', page);
}