重定向后的Angular浏览器后退按钮

时间:2017-05-10 09:25:03

标签: angular redirect url-redirection router back-button

我有一个委托组件,除了通过路径中的ID解析对象(例如/tournament/:id),检测锦标赛的类型并转发(通过router.navigate(..))到另一条路线(例如/tournament/:id/league

问题是浏览器后退按钮会返回到委托组件并显示我的委托组件的空模板。

考虑到以下情况,还有其他选项转发到router.navigate以外的其他组件:

  1. 浏览器后退按钮不会跳转到委派组件
  2. 路线/tournament/:id/league应反映在浏览器网址

2 个答案:

答案 0 :(得分:1)

在委派组件中,您可以导航到子组件,并选择跳过位置更改。

单击后退按钮时,将不会激活委派组件。

  this.router.navigate([this.layoutData.tabs[0].tabName], {        
    skipLocationChange: true
  });

答案 1 :(得分:0)

您可以使用replaceUrl: true跳过后退按钮上的委派组件。

导航到委派组件时,只需使用类似以下内容-

this.router.navigate(['A'], {
    replaceUrl: true
});