角度6 | 7,loadChildren是否不在app.module中?

时间:2019-02-04 11:04:54

标签: routes angular6 lazy-loading

我是Angular 6 | 7的新手。是否可以在新组件(在.forChild路由模块中)中设置延迟加载以转到另一个新组件?

到目前为止,我尝试执行与在app.module(根目录)中相同的操作。

APP.MODULE.TS

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    AppRoutingModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})

APP.ROUTING.MODULE.TS

const appRoutes: Routes = [
    { path: '', redirectTo: '/home', pathMatch: 'full' },
    { path: 'home', loadChildren: () => HomeModule }
];

@NgModule ({
    imports: [RouterModule.forRoot(appRoutes)],
    exports: [RouterModule]
})

HOME.MODULE.TS

@NgModule({
  imports: [
    CommonModule,
    HomeRoutingModule
  ],
  declarations: [
    HomeComponent
  ]
})

HOME.ROUTING.MODULE.TS

const homeRoutes: Routes = [
    { path: '', component: HomeComponent },
    { path: 'prescription', loadChildren: () => PresHomeModule }
];

@NgModule ({
    imports: [RouterModule.forChild(homeRoutes)],
    exports: [RouterModule]
})

PRESHOME.MODULE.TS

@NgModule({
  imports: [
    CommonModule,
    PresHomeRoutingModule
  ],
  declarations: [
    PresHomeComponent
  ]
})

PRESHOME.ROUTING.MODULE.TS

const homeRoutes: Routes = [
    { path: '', component: PresHomeComponent }
];

@NgModule ({
    imports: [RouterModule.forChild(homeRoutes)],
    exports: [RouterModule]
})

这样做的目的只是为了组织代码中的路由,因此不会像:'home / page1''home / page1 / this'只需是'page1',并在 page1 路由模块内:'this'。 现在, app.routing.module 可以正常工作。只是 home.routing.module loadChildren 不是。

0 个答案:

没有答案