registerBackButtonAction component to extend in order to add logic to native back button input
import { Platform } from 'ionic-angular';
import { OnDestroy } from '@angular/core';
export abstract class CustomDismissableComponent implements OnDestroy {
private unregisterBackButtonAction: any; // Function () => void doesn't work
constructor(private platform: Platform) {
}
public abstract dismiss(): void;
/**
* If you redefine hook cycle method, make sure to call super.ionViewDidEnter()!
*/
public ionViewDidEnter(): void {
this.registerBackButton();
}
public ionViewWillLeave(): void {
this.unregisterBackButton();
}
public ngOnDestroy(): void {
this.unregisterBackButton();
}
public registerBackButton(): void {
this.unregisterBackButtonAction = this.platform.registerBackButtonAction(
() => {
this.dismiss();
},
10);
}
public unregisterBackButton(): void {
if (this.unregisterBackButtonAction) {
this.unregisterBackButtonAction();
}
}
}