默认,当收到导航到当前URL的请求,Angular路由器会忽略。
<a routerLink="/heroes" routerLinkActive="active">Heroes</a>
重复点击同一链接页面不会刷新。
从Angular 5.1起提供onSameUrlNavigation属性,支持重新加载路由。
@NgModule({imports: [RouterModule.forRoot(routes, {onSameUrlNavigation:
eload})],exports: [RouterModule]})
onSameUrlNavigation有两个可选值: eload和ignore,默认为ignore。但仅将onSameUrlNavigation改为 eload,只会触发RouterEvent事件,页面是不会重新加载的,还需配合其它方法。在继续之前,我们启用Router Trace,从浏览器控制台查看一下路由事件日志:
@NgModule({imports: [RouterModule.forRoot(routes, {onSameUrlNavigation:
eload, enableTracing: true})],exports: [RouterModule]})
可以看到,未配置onSameUrlNavigation时,再次点击同一链接不会输出日志,配置onSameUrlN