子路线和模块

时间:2018-02-27 13:51:25

标签: angular typescript

我正在开展一个半大项目,我想把它拆分成模块。 问题是我无法访问admin.module.ts的路由。 所以在app.module中我导入了管理模块

imports: [
  BrowserModule,
  CommonModule,
  AppRoutingModule,
  FormsModule,
  ReactiveFormsModule,
  HttpModule,
  NgSelectModule,
  AdminModule,
  SharedModule
],

我的路由模块没有管理路由 在我的admin.module.ts中。 admin.module中的ngModule看起来像这样

@NgModule({
  declarations: [
      AdminComponent,
      AdminLandingComponent
  ], imports: [
      CommonModule,
      AdminRoutingModule
  ]
})

,admin-routing.module.ts中的路由如下所示

{ path: 'admin', component: AdminComponent, children: [
  { path: '', component: AdminLandingComponent }
]}

我使用forChild(),这不是问题所在 当我尝试访问localhost:4200 / admin我被重定向到页面未找到。 为什么会这样?如何解决?

完整档案

  1. 父模块 - app module
  2. 主要路线 - app-routing module
  3. 子模块 - admin module
  4. 子路线 - admin-routing module

1 个答案:

答案 0 :(得分:0)

@MaksymShevchenko谢谢。
添加路径:
{app}:在app-routing.module.ts中,将admin-routing.modules.ts中的路径更改为:{path: 'admin', loadChildren: '../admin/admin.module#AdminModule'}
做了伎俩。

解决问题的另一种方法

因为我在进口数组中添加了模块,所以anular会在通配符路由后添加路由。另一个解决方法是将通配符路由导出到另一个模块,并将其添加到根模块中的所有其他模块之后。这样我们就不必使用延迟加载。