使用ID为String 4的路由参数是字符串

问题描述:

如何使用ID为String的路由参数?使用ID为String 4的路由参数是字符串

{path: 'param/:id', component: MyComponent}

let id = this.route.snapshot.params['id'];
任何想法

块引用

+0

是什么问题?你想从URL获得ID?你想用ID导航? –

+0

问题不明确 –

+0

是的,我想用id导航。但是在角度类型的ID是数字,我想要的ID类型是STRING –

使用路线快照来获得你所显示的查询参数应该会给你一个字符串。如果你想该字符串隐式转换为数字,所以你可以在路由参数用于导航使用它,您可以前缀与+变量:

// (+) converts string 'id' to a number 
let id = +this.route.snapshot.params['id']; 

然后:

this.router.navigate(['/example', id]); 

退房在文档 https://angular.io/guide/router#snapshot-the-no-observable-alternative中获取查询参数的示例。

+0

非常感谢,我会尽力。 –

+0

总是想知道+的意思。这其实是我的问题。之前跟随他们使用+的英雄之旅。在这里,我使用UUID,并且必须删除所有+'es。谢谢。 – hogan

在您可以使用此代码串变换成数字组件:

constructor(private route: ActivatedRoute) { } 

    ngOnInit() { 
    this.route.paramMap 
     .subscribe((params: ParamMap) => { 
     let id = +params.get('id'); // This line converts id from string into num 
     }); 
    }