Angular 如何在ionic中更改选项卡时弹出所有选项卡堆栈?
我当前的选项卡代码将所有页面一页一页地堆叠在单独的选项卡上。所以,当我更改选项卡时,它会显示以前堆叠的页面,当我更改选项卡时,我希望将所有选项卡设置为root。这是我目前的代码 导出类选项卡{ tab1Root=主页; tab2Root=搜索页面; tab3Root=QueuesPage; tab4Root=FavoritesPage; tab5Root=设置空间; 建造师{ } }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方
我可以通过获取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">