Angular - 在forChild路由中使用自定义preloadingStrategy

时间:2017-10-26 11:16:50

标签: angular typescript lazy-loading

我有app-routing.module和一个加载了dashbord的延迟加载模块。

{ path: '', redirectTo: '', pathMatch: 'full'},
{ path: '', component: AppComponent },
{ path: 'dir', 
  loadChildren: './dboard/dboard.module#DboardModule'}, 
{ path: '**', component: NotfoundComponent }

在dashBoardRouting中我有其他延迟加载的模块:

const routes: Routes = [
     {  path: '', component: DboardComponent,
        children: [             
        { path: 'accounter', 
          loadChildren: './accounter/accounter.module#AccounterModule' },
        { path: 'manager', 
          loadChildren: './maanger/manager.module#ManagerModule' },
         ...
@NgModule({
  imports: [RouterModule.forChild(routes)],
  exports: [RouterModule]
})

AccounterModule和其他延迟加载的模块都有自己的路由模块。

我想在forChild方法中使用自定义预加载策略是否可能?

2 个答案:

答案 0 :(得分:2)

preloadingStrategy仅在根目录级别上定义,它将通过.ForChild()自动应用于所有生根模块。

所以您应该有一个自定义的preloadingStrategy函数,该函数可以处理所有级别的所有路由

答案 1 :(得分:0)

似乎您应该按照演示的here创建自己的预加载策略。