我在打字稿中与泛型有点挣扎,只是遇到了以下
save<T>(data: T): Observable<T> {
const created = data.createdTime;
...
}
这里的问题是打字稿告诉我createdTime
是一个未知的属性。但是,在我的情况下,传递给data
的任何save
对象都将具有createdTime
属性。告诉打字稿data
有这个属性的正确方法是什么?
答案 0 :(得分:2)
让T
扩展接口
interface Data {
createdTime: number
}
save<T extends Data>(data: T): Observable<T> {
const created = data.createdTime;
...
}