这个问题已经问过了。
当我们第二次点击<a routerLink="/home" routerLinkActive="active">Home</a>
之类的链接时,页面不会重新加载。
Angular2 Router3 - Can't reload/refresh active route
Angular 2 reloads routerLink user clicks again
但是当角度2处于测试版时,它已经被解决,并且关于这个问题存在一个角度问题。
现在我们有角度4,我会问,所提供的答案是否仍然是解决问题的最佳方法。
答案 0 :(得分:6)
我很好奇并且自己做了一些谷歌搜索。我在Angular的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
功能中,确实有效。现在,对同一链接的所有进一步点击都会重新加载component
和数据。
Link to original GitHub feature request
归功于GitHub上的 mihaicux2 。
我在版本4.0.0-rc.3
上使用import { Router, NavigationEnd } from '@angular/router';