为什么Angular 6组件未在延迟加载的模块中进行路由

时间:2018-12-07 13:43:17

标签: angular routing lazy-loading

几个小时后,经过许多重构,我不明白为什么延迟加载的路由模块中的路径未按预期运行。

从原理上讲,我的应用程序顶部有一个路由模块,用于加载仪表板模块:

  ...
  {
    path: 'dashboard',
    loadChildren: '@app/dashboard/dashboard.module#DashboardModule',
    canActivate: [AuthGuardService]
  },
  ...

DashboardModule导入定义为:

的DashBoardRoutingModule
const routes: Routes = [
  {
    path: '', component: DashboardComponent,
    canActivate: [AuthGuardService],
    children: [
      {path: 'shops', component: ShopListComponent}
    ]
  }
];

我希望http://localhost/dashboard/shops会加载ShopListComponent,但...根本不会...

我阅读了有关此行为的一些帖子,但是即使该组件本身也不在模块内部,或者...演示仅限于一条路线...

我想念的是什么?检查了我所有的进口和申报...

Thx

2 个答案:

答案 0 :(得分:0)

在hello组件中,您正在尝试这样做:

<a routerLink="/shops">Boutiques</a>

路径应为:

<a routerLink="/dashboard/shops">Boutiques</a>

答案 1 :(得分:0)

我们发现问题是延迟加载的模块中缺少<router-outlet></router-outlet>