diff --git a/angular/src/directives/navigation/ion-tabs.ts b/angular/src/directives/navigation/ion-tabs.ts index ede0d54fae..016901bea4 100644 --- a/angular/src/directives/navigation/ion-tabs.ts +++ b/angular/src/directives/navigation/ion-tabs.ts @@ -91,6 +91,12 @@ export class IonTabs { const alreadySelected = this.outlet.getActiveStackId() === tab; const tabRootUrl = `${this.outlet.tabsPrefix}/${tab}`; if (alreadySelected) { + const activeStackId = this.outlet.getActiveStackId(); + const activeView = this.outlet.getLastRouteView(activeStackId); + + // If on root tab, do not navigate to root tab again + if (activeView.url === tabRootUrl) { return; } + const rootView = this.outlet.getRootView(tab); const navigationExtras = rootView && tabRootUrl === rootView.url && rootView.savedExtras; return this.navCtrl.navigateRoot(tabRootUrl, {