如何将Ionic的RouterDirection与click事件一起使用?

时间:2020-05-20 08:45:49

标签: angular ionic-framework ionic4

从一页路由到另一页时,首先使用的技术是 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 |实时设备

animation on live device

1 个答案:

答案 0 :(得分:1)

您可以使用NavController的Microsoft.NET.Sdk.Functions函数来实现此目的,该函数在as you can see here下使用navigateBack()。您的router.navigateByUrl()函数将如下所示:

goToChat()