我知道angular是SPA,但我只是想知道,如果routerlink不变,是否可以重新加载页面。 例如,我有一个带有“仪表板”按钮的侧面菜单导航栏,可导航到仪表板视图
[routerLink]="['/merchant/', {outlets: {'page': ['Dashboard']}}]"
在我导航至“仪表板”之后,“仪表板”按钮不可单击,是否有什么方法可以重新单击此仪表板按钮?
我要这样做的原因是在仪表板组件上,我有一个主视图,即仪表板,其中包含少量md卡。通过单击每个md卡,我将执行* ngIf仅显示此卡的完整详细信息。我确实有一个goBack()按钮可以返回到仪表板视图。
但是我也想单击侧面菜单中的仪表板按钮以导航回到仪表板页面。
感谢您的帮助。
答案 0 :(得分:3)
尝试使用以下代码段。这可能会对您有所帮助。
this._router.routeReuseStrategy.shouldReuseRoute = function(){
return false;
};
this._router.events.subscribe((evt) => {
if (evt instanceof NavigationEnd) {
this._router.navigated = false;
window.scrollTo(0, 0);
}
});
用于路由重用策略的API链接:https://angular.io/api/router/RouteReuseStrategy
参考:How to reload the current route with the angular 2 router