需要帮助了解路由顺序

时间:2017-07-14 13:20:31

标签: angular angular-routing

我有一些功能模块,每个模块都有一个路由模块。我遇到的问题是想要做一个小小的问题,而且它的表现并不像我期望的那样,我不确定为什么。

我想设置一些我有一些特定路线匹配的内容,例如/ucp//admin,并且输入第一段的任何内容都会与最终匹配规则集。

在我的app-routing模块中,我有:

{
    path: 'admin',
    component: AdminComponent,
},
{
    path: '',
    component: HomeComponent,
    pathMatch: 'full'
},
{
    path: '',
    component: NotFoundComponent,
},

然后,例如,在我的ucp路由模块中,我有

{
    path: 'ucp',
    component: UcpComponent,
}

在我的组织模块中,我有

{
    path: ':org',
    component: OrgComponent,
}

导入我的app模块时,按以下顺序排列:

imports: [
    AppRoutingModule,
    UcpModule,
    OrgModule,
]

/ucp/admin工作正常,但其他所有内容都会定向到OrgComponent。我希望,因为''有pathMatch: 'full',它应该捕获并指向主组件,但情况似乎并非如此。

如果路由器匹配第一场比赛,最佳匹配或什么,我会感到困惑。显然模块的顺序很重要,就像我在OrgModule下有UcpModule一样,/ucp总是被OrgComponent捕获。

我不知道我是否误解了如何设置我的路由器模块或者这里有一个技巧我很想念。天哪,我希望我能弄清楚如何正则表达匹配以确定它是否有效(我希望能够区分字符串和不同组件的数字),但这完全是一个不同的问题。

0 个答案:

没有答案