forRoot中的重定向
pathMatch为full
const routes: Routes = [{path: '',redirectTo: 'sass',pathMatch: 'full',}, {path: 'sass',children: [{path: '',redirectTo: 'cage/spec/group',pathMatch: 'full',}, {path: 'cage/spec/group',component: CageSpecGroupComponent,loadChildren: '../../src/cage-spec-group/cage-spec-group.module#CageSpecGroupModule',}, {path: 'chain/cage',component: ChainCageComponent,loadChildren: '../../src/chain-cage/chain-cage.module#ChainCageModule',}]}];
forChild中的重定向
不设置pathMatch
const routes: Routes = [{path: '',component: ChainCageComponent,children: [{path: '',redirectTo: 'list',}, {path: 'list',component: ListComponent,}, {path: 'create',component: CreateComponent,}, {path: 'update/:id',component: CreateComponent,}]}];
issue
router recursive error
将src目录和example目录加入到tsconfig.json的include中
{"extends": "../tsconfig.json","compilerOptions": {"outDir": "../out-tsc/app","baseUrl": "./","module": "es2015","types": []},"include": ["../src","./"],"exclude": ["test.ts","**/*.spec.ts"]}
主项目
在根项目中使用RouterModule.forRoot()
const routes: Routes = [{path: '',redirectTo: 'cage/spec/group',pathMatch: 'full',}, {path: 'cage/spec/group',component: AppComponent,loadChildren: '../../src/cage-spec-group/cage-spec-group.module#CageSpecGroupModule',}];@NgModule({imports: [RouterModule.forRoot(routes)],exports: [RouterModule]})export class AppRoutingModule { }
组件项目中的路由控制
在组件项目中使用RouterModule.forChild(),此时所有的相对路由都会加上cage/spec/group前缀
const routes: Routes = [{path: '',component: CageSpecGroupComponent,children: [{path: 'list',component: ListComponent,}, {path: 'create',component: CreateComponent,}]}];@NgModule({imports: [RouterModule.forChild(routes)],exports: [RouterModule]})export class CageSpecGroupRoutingModule { }
