Angular 2路由更改为同一组件导致重新加载

时间:2016-09-09 10:43:15

标签: angular angular2-routing

寻找关于为什么路由更改为Angular 2应用程序中的同一组件的原因的一些建议。

我有两条路线,都有相同的组件:

  • /家
  • /家/:ID
const appRoutes = [
    {path:'', redirectTo:'/home', pathMatch:'full'},
    {path:'home', component: HomeComponent},
    {path:'home/:id', component: HomeComponent},
];

在两条路线之间切换时,会重新加载组件。更改第二个路径上的参数时,不会重新加载组件(如预期的那样)。

有没有办法在不重新加载组件的情况下在这些路径之间进行更改,就像更改参数一样?

查看此Plunker以了解我的意思

1 个答案:

答案 0 :(得分:2)

我有同样的问题,所以这是我的解决方案。希望它有所帮助。

    {
      path: '',
      redirectTo: 'home/',
      pathMatch: 'full',
    },
    {
      path: 'home',
      redirectTo: 'home/',
      pathMatch: 'full',
    },
    {
      path: 'home/:id',
      component: HomeComponent,
    }