【发布时间】:2018-09-18 17:13:22
【问题描述】:
我对 Angular 路由很陌生,找不到任何解决方案。我有一个登录组件和一个用户模块。 App 组件中有一个<router-outlet>,在 User 模块的 UserBase 组件中有一个。这是我的路由声明。
app.module.ts
const routes: Routes = [
{
path: 'login',
component: LoginComponent
},
];
imports: [
RouterModule.forRoot(routes),
UserModule,
],
user.module.ts
const routes: Routes = [
{
path: ':username',
component: UserBaseComponent,
children: [
{
path: '',
component: UserDetailsComponent,
},
{
path: 'progress',
component: ProgressComponent,
},
{
path: 'timeline',
component: TimelineComponent,
},
{
path: 'leaderboard',
component: LeaderboardComponent,
}
],
}
];
imports: [
RouterModule.forChild(routes)
]
它适用于用户模块的路径,但它一直将“登录”识别为用户名,而不是导航到登录组件。实际上,如果我像这样在参数之前添加一个静态路径,它就可以正常工作。
{
path: 'user',
children: [
{
path: ':username',
component: UserBaseComponent,
children: [
{
path: '',
component: UserDetailsComponent,
},
{
path: 'progress',
component: ProgressComponent,
},
{
path: 'timeline',
component: TimelineComponent,
},
{
path: 'leaderboard',
component: LeaderboardComponent,
}
],
}
]
}
谁能解释一下原因?
【问题讨论】:
-
如果有回答了您的问题的答案,请将其标记为答案。
-
好的,谢谢鲁本。
标签: javascript angular typescript