如何根据是否使用 defaultHref 获得条件离子后退按钮文本?
How can I have conditional ion-back-button text based on if the defaultHref is used?
我有一个要显示文本的按钮,但仅当使用 defaultHref 时才显示。有办法检测吗?
<ion-back-button *ngIf="defaultHref" [defaultHref]="defaultHref" [text]="text" icon="ios-arrow-back" mode="md"></ion-back-button>
如果后退按钮显示为不同路由器转发的结果,后退按钮 link 会转到其他地方,但我设置的文本仍然存在。有没有办法使该文本以 link 匹配我设置的 defaultHref 为条件?
根据一些调查,the component itself doesn't know如果它可以返回直到它尝试返回:
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";
}
}
直接导航时显示:
当它有一个历史可以追溯到:
我有一个要显示文本的按钮,但仅当使用 defaultHref 时才显示。有办法检测吗?
<ion-back-button *ngIf="defaultHref" [defaultHref]="defaultHref" [text]="text" icon="ios-arrow-back" mode="md"></ion-back-button>
如果后退按钮显示为不同路由器转发的结果,后退按钮 link 会转到其他地方,但我设置的文本仍然存在。有没有办法使该文本以 link 匹配我设置的 defaultHref 为条件?
根据一些调查,the component itself doesn't know如果它可以返回直到它尝试返回:
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";
}
}
直接导航时显示:
当它有一个历史可以追溯到: