我们可以在angular 5网站中有两个动态名称的路由吗?

时间:2018-05-22 10:42:06

标签: routes angular5

路线如下:

{
  path: ":referralCode",
  component: HomeComponent
},
{
  path: ':slug', 
  component: PagesComponent
}

1 个答案:

答案 0 :(得分:0)

是的,只要您可以为每个模式定义不同的模式,您就应该能够使用UrlMatcher。请参阅https://angular.io/api/router/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
    }
];