Angular(版本大于5)中onSameUrlNavigation属性的用途是什么

时间:2019-01-06 14:00:35

标签: angular angular-routing

最近,我听说过一个名为 onSameUrlNavigation 的属性,您可以在其中将其设置为“重新加载”。我已经用谷歌搜索过,但是没有多少文章显示该属性的用法。有人可以帮我举一个实时的例子,说明我们到底需要在哪里使用该属性。

flip id

2 个答案:

答案 0 :(得分:1)

onSameUrlNavigation配置路由器如何处理导航到当前URL的方式。默认情况下,路由器将忽略此导航。但是,这会阻止诸如“刷新”按钮之类的功能。使用此选项可以配置导航到当前URL时的行为。默认值为“ ignore”。通过将其设置为“ reload”,您可以导航当前路由并通过将其设置为“ ignore”再次触发路由器事件,如果您导航到同一页面,则不会更改路由,请参见{{ 3}}:

imports: [ BrowserModule, FormsModule, RouterModule.forRoot(routes, {
    // onSameUrlNavigation: 'ignore',
    onSameUrlNavigation: 'reload'
  }) ],

答案 1 :(得分:0)

对我来说,添加onSameUrlNavigation与我的Angular路由完全没有区别。

在尝试从/users:123导航到/users:234时,该选项不允许我刷新页面。我的Angular页面上有复杂的网格,当我切换到其他用户时,我特别需要将它们处理并重新创建。

起作用了(现在杀了我...)是将其添加到我的代码中。

let newRouterLink = '/users:123';
this.router.navigate(['/']).then(() => { this.router.navigate([newRouterLink ]); })

这很丑,但确实可以做到。...