mar*_*595 1 javascript angular2-routing angular
我在一个 angular2 组件中有以下代码:
ngOnInit() {
this.route.params
.switchMap((params: Params) => this.elementsService.getElement(+params['id']))
.subscribe(element => {
this.elementToEdit = element;
}
);
}
Run Code Online (Sandbox Code Playgroud)
此组件在两种情况下使用,一种id是在 url 中提供了,另一种是没有id提供。在第一种情况下,它工作正常。在第二个中,它可以工作,但控制台中出现 404 错误:api/elements/NaN.
我正在尝试解决这个问题,但我找不到一种方法来检查idurl 中是否存在:
ngOnInit() {
if(this.route.params['id']){<---doesn't work
this.route.params
.switchMap((params: Params) => this.elementsService.getElement(+params['id']))
.subscribe(element => {
this.elementToEdit = element;
}
);
}
}
Run Code Online (Sandbox Code Playgroud)
如果id参数不存在,有没有办法做到这一点并避免调用服务?
我在我的一个项目中使用这个对我来说很好
this.route.params.subscribe((params: any) => {
if (params.id) {
// Edit your element here
} else {
// Create your new element here
}
});
Run Code Online (Sandbox Code Playgroud)
我的路线是这样的
{ path: "home/:id", component: HomeComponent },
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3201 次 |
| 最近记录: |