相同路线的角力载荷

时间:2017-12-17 12:47:53

标签: angular angular-routing

我有一条去计算器的路线。此人可能会点击计算,屏幕会显示结果。哪个好。然后他们可能会再次进入导航栏并再次单击相同的计算器,我的意思是他们点击相同的路线。我想屏幕重新路由,所以它们本质上重新开始,刷新屏幕。当然路线不会改变,也不会改变屏幕,因为它们在同一条路线上。有没有办法强制路由重新加载或刷新。我有几个不同的路由,需要不同的组件。因此,如果我需要编写代码来处理它们,我希望它在服务中而不是在组件中。我最好在设置路线时加入。

2 个答案:

答案 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 () {

          }
   }