问题描述
如果我有Angular模块,这些路线
const routes: Routes = [
{path: 'route1',children: [
{path: '',component: route1Component}
]},{path: 'route2',component: route2Component}
]},{path: 'route3',component: route3Component}
]}
];
然后我该如何在父模块中使用路由,在那里我会延迟加载。 通常我会做这样的事情
{path: 'route1',loadChildren: () => import('../child.module').then(m => m.ChildModule)}
但通常,这意味着子路由具有默认路由,这里我有3
我只想导入模块,并从该模块获取所有路由
解决方法
您必须为延迟加载的路由器提供默认的任何一条路由。 因此,我建议仅定义默认路由器并将其重定向到第一条路由。
因此您可以拥有以下代码:
const routes: Routes = [
{path:''',redirectTo:'route1',pathMatch:'full'},{path: 'route1',children: [
{path: '',component: route1Component}
]},{path: 'route2',component: route2Component}
]},{path: 'route3',component: route3Component}
]}
];
这将解决您未定义任何默认路由器的问题。