我在我的样本中使用延迟加载。
export const appRoutes: Routes = [
{ path: 'comp1', loadChildren: 'app/components/comp1/comp1.module#comp1Module' },
{ path: 'comp2', loadChildren: 'app/components/comp2/comp2.module#comp2Module' },
. . .
]
comp1Module具有以下子路由路径
export const comp1Routes: Routes = [
{ path: 'comp1/default', component: DefaultComponent },
];
路由时我需要从模块中获取所有路由。
例如:我想从模块 comp1
获取所有路线答案 0 :(得分:4)
您可以通过注入路由器并拉取配置来使用router.config。
constructor(private router: Router){
console.log(this.router.config);
}
答案 1 :(得分:2)
您需要将Router
注入您的组件/服务。
例如:
constructor(private router: Router) { }
ngOnInit() {
console.log(this.router.config);
}
答案 2 :(得分:0)
我使用这种方法:
将延迟加载的模块路由定义为根组件的子代:
const routes: Routes = [
{ path: '', component: LazyLoadedRootComponent,
children: [
{ path: 'child1', component: Child1Component },
{ path: 'child2', component: Child2Component },
]
}
];
@NgModule({
declarations: [LazyLoadedRootComponent, Child1Component, Child2Component],
imports: [
CommonModule,
RouterModule.forChild(routes)
]
})
export class LazyLoadedModule { }
然后从您的根模块组件中获取其子路由,如下所示:
export class LazyLoadedRootComponent implements OnInit {
constructor(private route: ActivatedRoute) {
}
ngOnInit(): void {
console.log(this.route.routeConfig.children);
}
}