Typescript泛型:如何定义属性

时间:2018-02-16 10:27:01

标签: typescript generics

我在打字稿中与泛型有点挣扎,只是遇到了以下

save<T>(data: T): Observable<T> { 
    const created = data.createdTime;
    ...
}

这里的问题是打字稿告诉我createdTime是一个未知的属性。但是,在我的情况下,传递给data的任何save对象都将具有createdTime属性。告诉打字稿data有这个属性的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

T扩展接口

interface Data {
    createdTime: number
}

save<T extends Data>(data: T): Observable<T> { 
    const created = data.createdTime;
    ...
}