Angular 如何在ionic中更改选项卡时弹出所有选项卡堆栈?

Angular 如何在ionic中更改选项卡时弹出所有选项卡堆栈?,angular,typescript,ionic-framework,tabs,ionic3,Angular,Typescript,Ionic Framework,Tabs,Ionic3,我当前的选项卡代码将所有页面一页一页地堆叠在单独的选项卡上。所以,当我更改选项卡时,它会显示以前堆叠的页面,当我更改选项卡时,我希望将所有选项卡设置为root。这是我目前的代码 导出类选项卡{ tab1Root=主页; tab2Root=搜索页面; tab3Root=QueuesPage; tab4Root=FavoritesPage; tab5Root=设置空间; 建造师{ } } 我可以通过获取tabs组件的引用,然后通过从上一个选项卡访问NavController来调用PoptRoot方

我当前的选项卡代码将所有页面一页一页地堆叠在单独的选项卡上。所以,当我更改选项卡时,它会显示以前堆叠的页面,当我更改选项卡时,我希望将所有选项卡设置为root。这是我目前的代码

导出类选项卡{ tab1Root=主页; tab2Root=搜索页面; tab3Root=QueuesPage; tab4Root=FavoritesPage; tab5Root=设置空间; 建造师{ } }
我可以通过获取tabs组件的引用,然后通过从上一个选项卡访问NavController来调用PoptRoot方法来实现您想要的:

对于Ionic 4/5,我在我的案例中使用了此解决方案,它解决了我需要的问题:

最后,我不得不将tab和routerLink结合起来,它对我来说非常适合:原因是什么?没有使用eventHandler、navController和处理生命周期,我没有找到其他方法:

<ion-tab-button class="dashboard__button" tab="beneficiaries" routerLink="/dashboard/beneficiaries">
因此,每次退出并返回时,它总是针对根页面


-链接参考:

您能创建一个Stackblitz演示吗?这是演示。首先单击主页选项卡上的第1页按钮,然后单击任何其他选项卡并返回主页选项卡。第1页仍显示在主页选项卡上。我想当我更改tab时,tab会转到它的根@sebaferreras。你能分享Stackblitz代码编辑器中的链接吗,这样我们就可以修改代码了?谢谢:这是@SebaferReascelent!就像一个符咒!!很高兴听到:@NicolasPapp
// Angular
import { Component, ViewChild } from '@angular/core';

// Pages
import { AboutPage } from '../about/about';
import { ContactPage } from '../contact/contact';
import { HomePage } from '../home/home';

// Tabs
import { Tabs } from 'ionic-angular';

@Component({
  templateUrl: 'tabs.html'
})
export class TabsPage {

  @ViewChild('myTabs') tabRef: Tabs;

  tab1Root = HomePage;
  tab2Root = AboutPage;
  tab3Root = ContactPage;

  onTabsChange() {
    // Get the previous tab if any
    const previousTab = this.tabRef.previousTab(false);

    if(previousTab) {
      try {
        // Get the navCtrl and pop to the root page
        previousTab.getViews()[0].getNav().popToRoot();
      } catch(exception) {
        // Oops...
        console.error(exception);
      }
    }
  }
}
<ion-tab-button class="dashboard__button" tab="beneficiaries" routerLink="/dashboard/beneficiaries">