如何从离子3中的其他页面(最初没有选项卡)导航到特定选项卡索引?

时间:2018-05-31 03:44:26

标签: ionic-framework

我有一个页面名称EatPage,它没有任何标签。我想要做的是从MyPage导航到标签栏索引2并从EatPage传递参数。

我尝试使用此代码传递参数

opentab2(id: string) {
    this.navCtrl.push('TabsPage', {
      docId: id
}); 

但不知道如何从此处更改标签。

2 个答案:

答案 0 :(得分:0)

如果你在谈论Ionic Tabs,那么语法是这样的。

<强> TabsPage

@Component({
    templateUrl: 'tabs.html'
})
export class TabsPage {
  fooId:any;
  constructor() {

      this.fooId = "some-value";

      // this tells the tabs component which Pages should be each tab's root Page
      this.tab1Root = Tab1;
      this.tab2Root = Tab2;
      this.tab3Root = Tab3;
    }
}

网页

<ion-tabs>
    <ion-tab tabTitle="Tab1" [root]="tab1Root" [rootParams]="fooId"></ion-tab>
    <ion-tab tabTitle="Tab2" [root]="tab2Root" [rootParams]="fooId"></ion-tab>
    <ion-tab tabTitle="Tab3" [root]="tab3Root" [rootParams]="fooId"></ion-tab>
</ion-tabs>

否则,如果你想传递我建议使用服务的值。 告诉我你是否想知道它是如何通过services.ill在这里共享代码的。

了解更多hereofficial docs

答案 1 :(得分:0)

使用Ionic Tabs,很容易。

您正在将docId传递给TabsPage。在初始阶段的TabsPage中,您只需选择选项卡,如下所示:

HTML:

<ion-tabs #myTabs>
  <ion-tab [root]="tab1Root"></ion-tab>
  <ion-tab [root]="tab2Root"></ion-tab>
  <ion-tab [root]="tab3Root"></ion-tab>
</ion-tabs>

TS:

export class TabsPage {

@ViewChild('myTabs') tabRef: Tabs;

ionViewDidEnter() {
  this.tabRef.select(docId);
 }

}