我有这个组件:
export class myComponent implements OnInit {
items: Array<ItemInterface>;
constructor( private itemsService: ItemsService ) { }
ngOnInit() {
this.itemsService.getAll()
.subscribe(
response => {
this.items = response.data;
console.log(this.items);
},
err => {
console.log(err);
});
}
}
ItemInterface:
export interface ItemInterface {
id: number;
name: string;
}
我调用的API将id返回为字符串(例如&#34; 1&#34;)。我想把它们作为数字。是否可以强制类型相对于接口定义进行转换?我该怎么办?
非常感谢。
答案 0 :(得分:1)
您必须使用map
转换类型。您可以使用+
将字符串转换为数字。如果你愿意,你可以在地图中指定类型,虽然我认为在最新版本的typescript中没有必要,因为接口和返回类型之间的属性匹配。
this.items = response.data
.map(itm => {
return {id: +itm.id, name: itm.name} as ItemInterface;
});