同一路线的角力载荷

Posted

技术标签:

【中文标题】同一路线的角力载荷【英文标题】:Angular Force load of same route 【发布时间】:2018-05-31 00:22:12 【问题描述】:

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

【问题讨论】:

你能试试这个解决方案吗 - ***.com/a/45737269/2030471 是的,确实有效,虽然我不确定把它放在你想要使用它的每个组件中是最好的主意,我可能不得不把它放在我可以继承它的服务或类中从 【参考方案1】:

Angular 5 的一个很酷的特性就是能够在需要时重新加载/刷新同一页面。你只需要在你的配置中设置它

providers: [
  // ...
  RouterModule.forRoot(routes, 
onSameUrlNavigation: 'reload'
  )
]

它是路由器 ExtraOptions 的一部分。 如果您需要更多详细信息,可以查看文档here

【讨论】:

这看起来很有希望。我必须确保它不会在所有路线上都这样做。我想选择什么路线。我照着做。我希望我可以在每条路线上做到这一点..谢谢,我会调查一下.. 我会在我离开教堂后尝试这个,我必须升级到 5.x,如果它适合我​​,我会将它标记为答案 如何为孩子添加? @KumaresanPerumal 是的,您找到解决方案了吗? @HugoNoro 你对孩子有什么想法吗?【参考方案2】:

route.navigate()的方法中实现OnInit并调用ngOnInit()

看一个例子:

   export class Component implements OnInit 

          constructor()    

          refresh() 
            this.router.navigate(['same-route-here']);
            this.ngOnInit();   

          ngOnInit () 

          
   

【讨论】:

以上是关于同一路线的角力载荷的主要内容,如果未能解决你的问题,请参考以下文章

角度2:在同一路线上重定向时再次重新加载同一组件

如果在同一路线中,VueJS 会重新加载

Google Maps JavaScript API 在同一张地图上显示两条不同折线样式的路线

在同一应用程序上使用 Passport Local 和 JWT 策略(在同一条路线上)

不能在同一条路线上使用两种或多种方法

不能在同一条路线上使用两种或多种方法