IONIC3 - 如何链接到实际的标签页而不是setRoot或推送到页面

时间:2017-09-25 14:57:11

标签: android ionic-framework view tabs

this.navCtrl.push(ToDoPage)
this.navCtrl.setRoot(ToDoPage)

当我使用其中任何一个时,我的应用会导航到正确的位置,但它会在我所在的标签页视图中显示该页面。这是我的主页: enter image description here

然后当您点击"查看全部"按钮,你可以在下面看到我在待办事项页面上,但我还在主页选项卡中。有没有办法让它当我按下主页上的按钮时,我被带到实际的待办事项标签页?

Here you can see that I'm on the To Do page however I'm still in the Home Tab

1 个答案:

答案 0 :(得分:2)

要做你想做的事,你不需要.push()导航堆栈上的页面,这不是离子标签的工作方式。您可以将每个选项卡想象为自己的导航堆栈。使用.push().setRoot(),您只能修改当前所选标签的堆栈。

要切换标签,您可以使用离子.select()组件的Tabs方法。首先,您需要为您的组件添加模板引用,以便在您的打字稿代码中获取它:

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

然后使用Angulars @ViewChild装饰器访问该组件:

@ViewChild('myTabs') tabRef: Tabs;

当您单击按钮时,您可以选择第二个选项卡(将其放入函数中):

this.tabRef.select(1); // selected tab is an index starting at 0

here你可以找到所有这些的文档。