[英]Routing and URL handling Angular
和往常一样,注册后端后,请给我发送一个网址以确认帐户。 我有完整的网址: https : //app.com/confirm/ {userName} / {token}
用户名和令牌是我需要处理并发送回请求的数据。 问题是我不知道该如何处理。 当我进行路由时:
/confirm/:userName/:token
这是错误的,因为令牌具有未知的/(斜杠)数,因此路由认为这是它的路径。 我该如何解决这个问题? 我尝试使用RouterActivated和RouterActivatedSnapshot。 我有重定向到错误页面的**,所以当我如上所述进行操作时,它总是转到错误页面。 有什么建议么?
我认为您应该:
您可以尝试使用自定义UrlMatcher
:
...
const appRoutes: Routes = [
{
matcher: tokenMatcher,
component: TestComponent
}
];
...
/**
* custom url matcher for router config
*/
export function tokenMatcher(url: UrlSegment[]) {
if (url.length > 2 && url[0].path === 'confirm') {
return {
consumed: url,
posParams: {
userName: url[1],
token: new UrlSegment(url.slice(2).map(u => u.path).join('/'), {})
}
}
}
return null;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.