Angular 4 - 如何在按下后退按钮时路由到特定组件?
Angular 4 - How to route to a particular component when back button is pressed?
我想在浏览器中单击 后退 按钮时路由到特定路径。
我正在尝试以下代码片段。但它只是暂时将 URL 更改为所需的,然后路由到先前的实际 URL.
constructor(location: PlatformLocation, private router: Router) {
location.onPopState(() => {
router.navigate(['/home']);
});
}
我建议在顶层放置一个监听器,例如:
@HostListener('window:popstate', ['$event'])
并做
router.navigate(['/home']);
里面。
你可以使用 routerLink
https://angular.io/api/router/RouterLink
<a [routerLink]="['/main']">
<b> < BACK </b>
</a>
我使用 JavaScript 以不同的方式找到了解决方案。
假设我目前在“/menu”中,我想在按下后退按钮时导航到“/home”。检查以下代码片段。
ngOnInit() {
window.history.pushState( {} , 'Home', '/home' );
window.history.pushState( {} , 'Menu', '/menu' ); }
这里我在ngOnInit()
里面推window.history中的两个状态。首先是 URL (/home)
我想访问后退键,然后是当前的 URL (/menu)
。
它运行良好,我已经实现了我想要的。
我想在浏览器中单击 后退 按钮时路由到特定路径。
我正在尝试以下代码片段。但它只是暂时将 URL 更改为所需的,然后路由到先前的实际 URL.
constructor(location: PlatformLocation, private router: Router) {
location.onPopState(() => {
router.navigate(['/home']);
});
}
我建议在顶层放置一个监听器,例如:
@HostListener('window:popstate', ['$event'])
并做
router.navigate(['/home']);
里面。
你可以使用 routerLink
https://angular.io/api/router/RouterLink
<a [routerLink]="['/main']">
<b> < BACK </b>
</a>
我使用 JavaScript 以不同的方式找到了解决方案。
假设我目前在“/menu”中,我想在按下后退按钮时导航到“/home”。检查以下代码片段。
ngOnInit() {
window.history.pushState( {} , 'Home', '/home' );
window.history.pushState( {} , 'Menu', '/menu' ); }
这里我在ngOnInit()
里面推window.history中的两个状态。首先是 URL (/home)
我想访问后退键,然后是当前的 URL (/menu)
。
它运行良好,我已经实现了我想要的。