如何在点击事件中使用 Ionic 的 RouterDirection?
How to use Ionic's RouterDirection with a click event?
从一个页面路由到另一个页面时,首先使用的技术是routerLink + routerDirection。在第一段代码 (#1) 中,我们从一页转到下一页,方向为 forward
。当我们想回到原来的页面时,在第二段代码(#2)中,我们必须在路由器的状态下传递数据。所以我们使用 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 |直播设备
您可以使用 NavController 的 navigateBack()
函数实现此目的,该函数在 as you can see here 下使用 router.navigateByUrl()
。您的 goToChat()
函数将如下所示:
goToChat() {
this.navController.navigateBack('/chat/' + this.chatID, {
state: {
// ...
},
});
}
从一个页面路由到另一个页面时,首先使用的技术是routerLink + routerDirection。在第一段代码 (#1) 中,我们从一页转到下一页,方向为 forward
。当我们想回到原来的页面时,在第二段代码(#2)中,我们必须在路由器的状态下传递数据。所以我们使用 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 |直播设备
您可以使用 NavController 的 navigateBack()
函数实现此目的,该函数在 as you can see here 下使用 router.navigateByUrl()
。您的 goToChat()
函数将如下所示:
goToChat() {
this.navController.navigateBack('/chat/' + this.chatID, {
state: {
// ...
},
});
}