延迟加载的Angular 6路由

时间:2018-08-06 14:25:39

标签: angular angular-routing

我有一个github项目可以解释这个问题

Get Project Here

const routes: Routes = [
  {
    path: 'admin',
    loadChildren: './admin/admin.module#AdminModule'
  },
  {
    path: '',
    component: HomeComponent
  }
];

这是来自管理模块路由

const routes: Routes = [{
  path: '',
  component: OverviewComponent
},
  {
    path: 'users',
    component: UserComponent
  }];

该项目的home组件在url中没有路径

即使没有模块前缀,我也可以看到url路径正常工作。

谢谢。

2 个答案:

答案 0 :(得分:0)

在AdminModule中,您也应该在admin.component.html中。

您还需要为此创建AdminComponent。

供参考:https://www.tektutorialshub.com/angular-child-routes-nested-routes/

答案 1 :(得分:0)

这是因为您已在应用程序模块本身中导入并声明了管理组件。 如果要延迟加载,请按如下所示更改app.module.ts文件

@NgModule({
  declarations: [
    AppComponent,
    HomeComponent

  ],
  imports: [
    BrowserModule,
    AppRoutingModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

和admin.module.ts如下

@NgModule({
  imports: [
    CommonModule,
    AdminRoutingModule
  ],
  declarations: [OverviewComponent, UserComponent]
})
export class AdminModule { }