同一路线的角力载荷
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 ()
【讨论】:
以上是关于同一路线的角力载荷的主要内容,如果未能解决你的问题,请参考以下文章
Google Maps JavaScript API 在同一张地图上显示两条不同折线样式的路线