Angular 2 - 路由器实现非线性

时间:2017-05-23 07:01:57

标签: angular

我在角度路由器中遇到了邪恶的东西,从第1级到第2级的路由定义与从第2级到第3级不一样

我的路线/ a / b工作正常

但是/ a / b / c无法正常工作(无法匹配任何路由错误)

挖掘之后,我发现这个例子说明第3级的路线应该在第2级模块上实现而不是遵循相同的逻辑......一旦我在第2级模块中移动了第3级的路线,它起作用了

(在下面的示例中,他们不使用子模块,但我这样做,并且我在我的第二级模块中与它相关,所以它应该工作,......)

const crisisCenterRoutes: Routes = [
  {
    path: '',
    component: CrisisCenterComponent,
    children: [
      {
        path: '',
        component: CrisisListComponent,
        children: [ <<<<<<<<<<<<<<<<<<<<<<<< why here and not in a  submodule with his own routing ????
          {
            path: ':id',
            component: CrisisDetailComponent,
            canDeactivate: [CanDeactivateGuard],
            resolve: {
              crisis: CrisisDetailResolver
            }
          },
          {
            path: '',
            component: CrisisCenterHomeComponent
          }
        ]
      }
    ]
  }
];

虽然应用程序组件路由让孩子们定义自己的路线

const appRoutes: Routes = [
  {
    path: 'compose',
    component: ComposeMessageComponent,
    outlet: 'popup'
  },
  {
    path: 'admin',
    loadChildren: 'app/admin/admin.module#AdminModule',
    canLoad: [AuthGuard]
  },
  {
    path: 'crisis-center',
    loadChildren: 'app/crisis-center/crisis-center.module#CrisisCenterModule',
    data: { preload: true }
  },
  { path: '',   redirectTo: '/heroes', pathMatch: 'full' },
  { path: '**', component: PageNotFoundComponent }
];

有人可以告诉我为什么会这样吗? 我错过了什么吗?

0 个答案:

没有答案