只是出于好奇,我尝试将ActivatedRoute
's 参数分配给定义为数字的变量:
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(此处)包含any
元素:
export type Params = {
[key: string]: any
};
问题是为什么?AFAIK 所有参数始终是字符串。有没有办法说 Angular 我们的一些参数应该是number
orarray
并且它会解析它?