我有一个委托(delegate)组件,除了通过路径中的 ID 解析对象(例如 /tournament/:id
),检测锦标赛的类型和转发(通过 router.navigate(..)
) 到另一条路线(例如 /tournament/:id/league
)
问题是浏览器后退按钮会返回到委托(delegate)组件并显示我的委托(delegate)组件的空模板。
除了 router.navigate
之外,还有其他选项可以转发到另一个组件吗?考虑到以下几点:
- 浏览器后退按钮不会跳转到委托(delegate)组件
- 路由
/tournament/:id/league
应该反射(reflect)在浏览器 URL 中
最佳答案
您可以使用 replaceUrl: true
跳过按下后退按钮时的委托(delegate)组件。
当离开委托(delegate)组件时,只需使用这样的东西 -
this.router.navigate(['A'], {
replaceUrl: true
});
关于重定向后的 Angular 浏览器后退按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43888450/