Angular 在第二次单击routerLink后重新加载页面

Angular 在第二次单击routerLink后重新加载页面,angular,angular-ui-router,Angular,Angular Ui Router,这个问题已经问过了。 当我们第二次点击这样的链接时 但是当angular 2在beta版时,它已经被解决了,并且在这个问题上存在一个角度问题 现在我们有了angular 4,我会问提供的答案是否仍然是解决这个问题的最佳方法。我很好奇,自己在谷歌上搜索了一下。我在GitHub特性请求中找到了以下解决方法: this._router.routeReuseStrategy.shouldReuseRoute = function(){ return false; }; this._route

这个问题已经问过了。 当我们第二次点击这样的链接时

但是当angular 2在beta版时,它已经被解决了,并且在这个问题上存在一个角度问题


现在我们有了angular 4,我会问提供的答案是否仍然是解决这个问题的最佳方法。

我很好奇,自己在谷歌上搜索了一下。我在GitHub特性请求中找到了以下解决方法:

this._router.routeReuseStrategy.shouldReuseRoute = function(){
    return false;
};

this._router.events.subscribe((evt) => {
    if (evt instanceof NavigationEnd) {
        this._router.navigated = false;
        window.scrollTo(0, 0);
    }
});
我尝试将它添加到我的app.component.ts
ngOnInit
函数中,它确实起了作用。在同一链接上的所有进一步单击现在都会重新加载
组件和数据

GitHub上的mihaicux2值得称赞


我在版本
4.0.0-rc.3
上用“@angular/Router”导入{Router,NavigationEnd}测试了这一点

@ArgOn,感谢您的回复!副本: