you can solve this issue by creating a directive for handle back stages.
Create directive ‘location-back-directive.directive’.
directive/location-back-directive.directive.ts
import {Directive, HostListener} from '@angular/core';
import {Location} from '@angular/common';
@Directive({
selector: '[app-location-back]'
})
export class LocationBackDirectiveDirective {
constructor(private location: Location) { }
@HostListener('click', ['$event'])
clickEvent(event) {
event.preventDefault();
event.stopPropagation();
this.location.back();
}
}
Now create a share module.
share/share.module.ts
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { LocationBackDirectiveDirective } from '../../directive/location-back-directive.directive';
@NgModule({
declarations: [LocationBackDirectiveDirective],
imports: [
CommonModule
],
exports: [
LocationBackDirectiveDirective
]
})
export class ShareModule { }
app.module.ts
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { RouteReuseStrategy } from '@angular/router';
import { IonicModule, IonicRouteStrategy } from '@ionic/angular';
import { SplashScreen } from '@ionic-native/splash-screen/ngx';
import { StatusBar } from '@ionic-native/status-bar/ngx';
import { AppComponent } from './app.component';
import { AppRoutingModule } from './app-routing.module';
import { ShareModule } from './share/share/share.module';
@NgModule({
declarations: [AppComponent],
entryComponents: [],
imports: [BrowserModule, IonicModule.forRoot(), AppRoutingModule,ShareModule],
providers: [
StatusBar,
SplashScreen,
{ provide: RouteReuseStrategy, useClass: IonicRouteStrategy }
],
bootstrap: [AppComponent]
})
export class AppModule {}
people.page.html
<ion-header>
<ion-toolbar>
<ion-buttons slot="start">
<ion-button app-location-back fill="clear">
<ion-icon name="arrow-back" slot="icon-only"></ion-icon>
</ion-button>
</ion-buttons>
<ion-title>people</ion-title>
</ion-toolbar>
</ion-header>
<ion-content>
<ul>
<li><a routerLink="/person" routerDirection="forward">Person A</a></li>
<li>Person B</li>
<li>Person C</li>
</ul>
</ion-content>
people.module.ts
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { IonicModule } from '@ionic/angular';
import { PeoplePageRoutingModule } from './people-routing.module';
import { PeoplePage } from './people.page';
import { ShareModule } from '../../share/share/share.module';
@NgModule({
imports: [
CommonModule,
FormsModule,
IonicModule,
PeoplePageRoutingModule,
ShareModule
],
declarations: [PeoplePage],
})
export class PeoplePageModule {}
Here i just show you a people page code. Use this way in all other pages, when you wants to handle back stages/routing.
Hope this will more clear for you and solve your issue.
Thanks.