Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Routes 我们能在angular 5网站上有两条动态名称的路线吗?_Routes_Angular5 - Fatal编程技术网

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的各种防护装置就是为此而设计的。在这种情况下,无论哪个路由模式匹配首先发生,它都会检查并停止。如果第一条路线不匹配,我想继续检查下一条路线,该怎么办?