我有一个返回Record的类。我知道所有的记录名,我想给它们附加类型。有没有一种优雅的方式来做到这一点?到目前为止,我的代码看起来像这样:
interface DataInterface {
bar: number;
foo: string;
fooBar: boolean;
}
export class MyClass {
public bar: number;
public foo: string;
public fooBar: boolean;
constructor(data: Record<string, DataInterface>) {
this.bar = data.bar; // ERROR: Type 'DataInterface' is not assignable to type 'number'.
this.foo = data.foo; // ERROR: Type 'DataInterface' is not assignable to type 'string'.
this.fooBar = data.fooBar; // ERROR: Type 'DataInterface' is not assignable to type 'boolean'.
}
}
考虑到我在DataInterface
中可能有很多项目,您将如何处理它?
1条答案
按热度按时间cwdobuhd1#
您可以直接使用
DataInterface
因为
DataInterface
已经是对象/记录