[英]Email Address in params 404s in Angular 2
我有一些具有共同关系的URL: http:// localhost:3000 / account / changeforgottenpassword
在app.module.ts
我配置了以下路由(为简洁起见,代码缩短了):
import { RouterModule } from '@angular/router';
RouterModule.forRoot([
{ path: 'login', component: LoginComponent },
{ path: 'login/forgotpassword', component: ForgotPasswordComponent },
{ path: 'account/changeforgottenpassword/:type/:id', component: ChangePasswordComponent },
{ path: 'dashboard', component: DashboardComponent },
{ path: '', redirectTo: 'login', pathMatch: 'full' },
{ path: '**', component: PageNotFoundComponent }
])
所有路线均有效。 但是,将需要配置account/changeforgottenpassword
路径,以便相应的ChangePasswordComponent
仅显示第二个URL,第三个URL等。
我试图通配路径(例如account/changeforgottenpassword/**
),但这没有用。
最后,当我访问带有参数中指定的电子邮件地址的URL时,最终得到的只是404。
程式码片段在这里: https : //plnkr.co/edit/g2wkInKnWnbRhgqVHkRg?p = catalogue
谢谢您的宝贵时间,SO社区!
您需要定义什么是通配符,例如:
{ path: 'account/changeforgottenpassword/:type/:id', component: AnotherComponent }
然后可以通过ActivatedRouteSnapshot
或ActivatedRoute
访问它们。
@Component()
export class AnotherComponent implements OnInit {
private _route: ActivatedRouteSnapshot;
constructor(route: ActivatedRouteSnapshot) {
this._route = route;
}
ngOnInit() {
// http://localhost:3000/account/changeforgottenpassword/blahblahtest/75c09b18-6090-44df-a18d-moreblah
console.log(this._route.params['type']) // blahblahtest
console.log(this._route.params['id']) // 75c09b18-6090-44df-a18d-moreblah
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.