出于好奇,我试图将ActivatedRoute
的参数分配给我定义为数字的变量:
public id: number;
constructor(public activatedRoute: ActivatedRouter) {}
public ngOnInit() {
this.activatedRoute.params.take(1).subscribe((params) => {
this.id = params['id']; // I was expecting to see a warning here
}
}
...它在我的IDE和tslint中没有任何警告就通过了。所以我挖掘它并发现它发出Params声明(here)以包含any
元素:
export type Params = {
[key: string]: any
};
问题是为什么? AFAIK的所有参数都是字符串。有没有办法说Angular我们的一些参数应该是number
或array
并且它会解析它?