2016-12-13 51 views
2

說我有這樣的定義主路由模塊:如何「摩的」的角2模塊的路線在路由層次中的某一點

// app-routing.module.ts 
const appRoutes: Routes = [ 
    { 
     path: 'login', 
     component: LoginComponent 
    }, 
    { 
     path: 'auth', 
     component: MasterPageComponent, 
     canActivate: CanActivateGuard 
    } 
]; 

然後在另一個文件中的feature路由模塊:

// feature-routing.module.ts 
const featureRoutes: Routes = [ 
    { 
     path: '/feature', 
     component: FeatureComponent 
    } 
]; 

我怎樣才能「摩的」從我的功能模塊下,我的主要模塊的路線,所以我訪問這樣的:

/auth/feature 

概念我在尋找類似:

RouterModule.forChildAtMountPoint(featureRoutes, '/auth'); 

我知道這是可能的延遲加載,但我想這個模塊可以即時加載。

回答

2

這是非常簡單的,儘管據我所見仍然還沒有documented

雖然路由定義的loadChildren屬性典型地與相關聯的lazy loading,它也可以分配一個返回急切裝載的模塊的功能:

// app-routing.module.ts 
const appRoutes: Routes = [ 
    { 
     path: 'login', 
     component: LoginComponent 
    }, 
    { 
     path: 'auth', 
     component: MasterPageComponent, 
     canActivate: [CanActivateGuard], 
     children: [ 
      { 
       path: 'feature', 
       loadChildren:() => FeatureModule 
      } 
     ] 
    } 
]; 

// feature-routing.module.ts 
const featureRoutes: Routes = [ 
    { 
     path: '' 
     component: FeatureComponent 
    } 
];