我有一条去计算器的路线。此人可能会点击计算,屏幕会显示结果。哪个好。然后他们可能会再次进入导航栏并再次单击相同的计算器,我的意思是他们点击相同的路线。我想屏幕重新路由,所以它们本质上重新开始,刷新屏幕。当然路线不会改变,也不会改变屏幕,因为它们在同一条路线上。有没有办法强制路由重新加载或刷新。我有几个不同的路由,需要不同的组件。因此,如果我需要编写代码来处理它们,我希望它在服务中而不是在组件中。我最好在设置路线时加入。
答案 0 :(得分:2)
Angular 5的一个很酷的功能就是能够在需要时重新加载/刷新同一页面。您只需在配置中进行设置
providers: [
// ...
RouterModule.forRoot(routes, {
onSameUrlNavigation: 'reload'
})
]
这是路由器所谓的ExtraOptions的一部分。 如果您需要更多详细信息,可以查看文档here
答案 1 :(得分:0)
实施OnInit
并在ngOnInit()
route.navigate()
查看示例:
export class Component implements OnInit {
constructor() { }
refresh() {
this.router.navigate(['same-route-here']);
this.ngOnInit(); }
ngOnInit () {
}
}