从一页路由到另一页时,首先使用的技术是 routerLink + routerDirection 。在第一段代码(#1)中,我们以forward
的方向从一页转到下一页。当我们想回到原始页面时,在第二段代码(#2)中,我们必须在路由器状态下传递数据。因此,我们使用click
事件来处理路由。
第二个导航出现问题,该导航带有 click事件(#2)。我们失去了触发routerDirection使用back
动画的功能。该页面正在向前扩展(请参阅下面的示例#3)。
是否可以通过 routerDirection + click 事件触发back
动画?
当我在这里查看文档时,Angular NavigationExtras不提供此功能: https://angular.io/api/router/NavigationExtras
#1 |使用routerLink路由到页面
<ion-button fill="clear" routerLink="/chat-settings" routerDirection="forward">
<ion-icon color="light" name="add-circle"></ion-icon>
</ion-button>
#2 |通过点击事件返回
<ion-button (click)="goToChat()" routerDirection="back"> <!-- routerDirection does nothing -->
<ion-icon slot="icon-only" name="close"></ion-icon>
</ion-button>
goToChat() {
this.router.navigateByUrl('/chat/' + this.chatID, {
state: {
// ...
},
});
}
#3 |实时设备
答案 0 :(得分:1)
您可以使用NavController的Microsoft.NET.Sdk.Functions
函数来实现此目的,该函数在as you can see here下使用navigateBack()
。您的router.navigateByUrl()
函数将如下所示:
goToChat()