我有这些组件:
LoginComponent / login
CoreComponent 没有自己的路线,仅用于包装其他组件(不包括登录,注册等等)
HomeComponent / home
条目 /条目
const appRoutes: Routes = [
{ path: 'x',
component: CoreComponent,
children: [
{ path: '', redirectTo: 'home', pathMatch: 'full' },
{ path: 'home', component: HomeComponent },
{ path: 'entries', component: EntriesComponent },
]},
];
路由现在是/ x / home或/ x / entries和/ login用于登录。
如何从第一级路径中删除x?
答案 0 :(得分:1)
如果您不必使用CoreComponent
,则可以简化您的路线;
const appRoutes: Routes = [
{
path: '',
redirectTo: 'home',
pathMatch: 'full'
},
{
path: 'home',
component: HomeComponent
},
...
]
如果必须使用CoreComponent
并且没有其他路由使用空路径''
,则可以从父路由中删除x
。另外,您可以查看this。如有任何其他问题,请与我们联系。
答案 1 :(得分:1)
只需写下这样的路线:
const appRoutes: Routes = [
{ path: '', redirectTo: 'home',
children: [
{ path: 'entries', component: EntriesComponent },
]},
{ path: 'home', component: HomeComponent },
];
答案 2 :(得分:0)
我没有测试下面的代码,但是试一试它可能会对你有用。
[
{
path: '',
canActivate: [CanActivateHomeOrEntries],
resolve: {
token: TokenNeededForBothHomeAndEntries
},
children: [
{
path: 'home',
component: HomeComponent
},
{
path: 'entries',
component: EntriesComponent
}
]
}
]