angular 2 个新路​​由器:浏览器的后退和前进按钮无法正常工作

angular 2 new router: Back- and Forward-Button of Browser not working correctly

http://plnkr.co/edit/UHeuW7QIFhHnHVT8itoj?p=preview

这是 google 提供的用于演示相对导航的插件:

export class CrisisListComponent implements OnActivate {
  crises: Crisis[];
  private currSegment: RouteSegment;
  private selectedId: number;

  constructor(
    private service: CrisisService,
    private router: Router) { }

  isSelected(crisis: Crisis) { return crisis.id === this.selectedId; }

  routerOnActivate(curr: RouteSegment, prev: RouteSegment, currTree: RouteTree) {
    this.currSegment = curr;
    this.selectedId = +currTree.parent(curr).getParam('id');
    this.service.getCrises().then(crises => this.crises = crises);
  }

  onSelect(crisis: Crisis) {
    // Absolute link
    // this.router.navigate([`/crisis-center`, crisis.id]);

    // Relative link
    this.router.navigate([`./${crisis.id}`], this.currSegment);
  }
}

现在,在我的 Chrome 版本中,单击后退按钮后,浏览器前进按钮将无法正常工作。

重现错误:

预计:将启用前进按钮并转到所点击项目的详细视图

这是一个错误还是我遗漏了什么?

这是因为当使用服务器呈现的内容时,此导航会重新请求来自服务器的内容或可能会重新显示缓存的内容。使用客户端框架时,必须模拟此导航,因为导航实际上并没有发生,而是存储状态历史并将其传递给应用程序以达到相同的效果。

来源:http://www.captaincodeman.com/2016/04/02/angular2-new-component-router-review/

这是 @angular/router https://github.com/angular/angular/issues/9088

的一个已知问题

此路由器将再次更换。新路由器正在开发中,但可能很快就会可用。