Из какого-то исследования сам компонент не знает , может ли он вернуться, пока не попытается вернуться:
private onClick = async (ev: Event) => {
const nav = this.el.closest('ion-nav');
ev.preventDefault();
if (nav && await nav.canGoBack()) {
return nav.pop({ skipIfBusy: true });
}
return openURL(this.defaultHref, ev, 'back');
}
Это все еще возможно, хотя, потому что вы можете просто подражать этому и проверить, может ли приложение вернуться в логику, которую вы используете для установки текста.
page.html:
<ion-buttons slot="start">
<ion-back-button defaultHref="/custom-back-button" [text]="getCustomText()"></ion-back-button>
</ion-buttons>
Page.ts:
constructor(
private ionRouterOutlet: IonRouterOutlet
) { }
getCustomText():string {
if(this.ionRouterOutlet.canGoBack()) {
return "Can Go Back Text";
} else {
return "Can Only Go To Default";
}
}
Что показывает это при прямой навигации:
И это, когда у него есть история, чтобы вернуться к: