如何在typescript中定义对象类型

mar*_*ius 30 typescript

我有一个对象来存储缓存数据,它应该如下所示:

private data = {
   'some_thing': new DataModel(),
   'another_name': new DataModel()
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试在构造函数中为其分配一个空对象:

this.data = {}; // produces build error
Run Code Online (Sandbox Code Playgroud)

基本上,我需要定义"数据"字段的类型,以表明它将具有随机名称和DataModel类型值的键.我试过这样做:

private data: Object<DataModel>
Run Code Online (Sandbox Code Playgroud)

但这是无效的.我如何指定正确的类型?

Nit*_*mer 96

它应该是:

private data: { [name: string]: DataModel };
Run Code Online (Sandbox Code Playgroud)

然后这应该工作:

this.data = {};
Run Code Online (Sandbox Code Playgroud)