Routes 我们能在angular 5网站上有两条动态名称的路线吗?
路线如下:Routes 我们能在angular 5网站上有两条动态名称的路线吗?,routes,angular5,Routes,Angular5,路线如下: { path: ":referralCode", component: HomeComponent }, { path: ':slug', component: PagesComponent } 是的,只要您可以为每种类型定义不同的模式,就应该能够使用UrlMatcher。看 例如: export function slugMatcher(url: UrlSegment[]) { return url[0].path.startsWith('slug')
{
path: ":referralCode",
component: HomeComponent
},
{
path: ':slug',
component: PagesComponent
}
是的,只要您可以为每种类型定义不同的模式,就应该能够使用UrlMatcher。看 例如:
export function slugMatcher(url: UrlSegment[]) {
return url[0].path.startsWith('slug') ? ({consumed: url}) : null; // define a pattern for a slug??
}
export function referralMatcher(url: UrlSegment[]) {
return url[0].path.startsWith('ref') ? ({consumed: url}) : null; // define a pattern for a referal??
}
export const routes = [
{
matcher: slugMatcher,
component: HomeComponent
},
{
matcher: referralMatcher,
component: PagesComponent
}
];
你能举个例子吗?谢谢。完成-您只需要决定模式逻辑是否可以在此内部进行api调用:导出函数slugMatcher(url:UrlSegment[]){返回url[0]。startsWith('slug');//为slug定义模式???}不确定,但我不建议在任何情况下使用它。。。我假设您想在路由到slug/referralCode之前验证它是否存在?Angular的各种防护装置就是为此而设计的。在这种情况下,无论哪个路由模式匹配首先发生,它都会检查并停止。如果第一条路线不匹配,我想继续检查下一条路线,该怎么办?