【发布时间】:2018-02-16 10:47:04
【问题描述】:
我有一个抽象类,在它的方法中我传递了一个泛型类型的项目。接下来我需要获取这个item的属性,如何正确做呢?
export abstract class BaseService<T> {
...
public saveItem(item: T) {
...
if (item.id <=== here I got error ) {
}
...
}
export class ClusterItem {
id: number;
...
}
export class ClustersService extends BaseService<ClusterItem> {
...
}
【问题讨论】:
-
您可以使用Type Guards 在尝试访问某些属性或通过括号符号
item['id']访问之前检查类型 -
也许
T extends { id: number },将泛型类型限制为具有该属性的事物。
标签: typescript generics