angular - 如果 routerLink 相同,是否支持重新加载页面
问题描述
我知道 Angular 是一个 SPA,但我只是想知道如果 routerlink 没有改变,是否可以重新加载页面。例如,我有一个带有仪表板按钮的侧边菜单导航栏,用于导航到仪表板视图
[routerLink]="['/merchant/', {outlets: {'page': ['Dashboard']}}]"
在我导航到仪表板后,仪表板按钮不可单击,有什么办法可以重新单击此仪表板按钮?
我想这样做的原因是在仪表板组件上,我的主视图是仪表板,包含很少的 md 卡。通过单击每个 md 卡,我将执行 *ngIf 以仅显示此卡的完整详细信息。我确实有一个 goBack() 按钮可以返回仪表板视图。
但我还想单击侧面菜单中的仪表板按钮以导航回仪表板页面。
谢谢你的帮助。
解决方案
尝试使用以下代码片段。这可能会帮助你。
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