角度通配符路由而不是空路由

时间:2017-08-08 15:22:57

标签: angular routing

当应用程序加载或刷新浏览器时,它会加载我的HomepageComponent,但是当我在浏览应用程序后尝试重定向到空路线时,它将采用通配符路径并保留在CategoriesComponent中。所以我无法通过刷新回到主页。有任何想法吗?

app.routing.ts

0

1 个答案:

答案 0 :(得分:0)

我知道我正在整理这篇文章,但是最近我遇到了这个问题并找到了解决方案。我将空路径移到了数组的末尾,并成功了。

我相信会发生这种情况,因为您正在使用pathMatch: 'full'来更改默认的pathmatch: 'prefix'匹配行为。 前缀在第一个匹配项处停止,而 full 则遍历整个数组。由于空白路径后有一个有效匹配(**),因此选择通配符。

将空白路径javascript对象移动到数组的末尾应会更改此行为。

app.routing.ts

  {
    path      : 'users',
    component : UsersComponent
  },
  {
    path      : 'users/:group',
    component : UsersComponent
  },
  {
    path      : 'user/:id',
    component : UserDetailComponent
  },
  {
    path       : 'user',
    redirectTo : 'users'
  },
  {
    path      : 'page-not-found',
    component : ErrorComponent
  },
  {
    path      : '**', // Wildcard for sub-category processing
    component : CategoriesComponent
  },
  {
    path      : '', // Moved below the wildcard path
    pathMatch : 'full',
    component : HomepageComponent
  },