Je voulais arrêter la navigation d'une page à une autre page lorsque l'utilisateur clique sur -bouton-back ion. J'ai une certaine validation/chèque à exécuter sur la base de l'application décidera de permettre une action arrière ou non.
Je n'ai pas pu trouver une solution de contrôleur uniquement (IonViewCanleave n'utilisait pas) - mon hack actuel est comme ci-dessous. Il empêche de manière conditionnellement/remplace le bouton d'origine ionique, tout en animant le bouton en cliquant.
HTML:
<ion-back-button defaultHref="/" routerDirection="back">
<div (click)="back($event)"></div>
</ion-back-button>
SCSS:
ion-back-button {
& > div {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
z-index: 1;
}
}
TS:
public back($event) {
if (shouldPreventBack)
$event.stopPropagation();
}