2016-08-29 110 views
10

我有一個對象存儲緩存數據,應該是這樣的:如何定義對象的對象類型的打字稿

private data = { 
    'some_thing': new DataModel(), 
    'another_name': new DataModel() 
} 

我試圖在構造一個空的對象分配給它:

this.data = {}; // produces build error 

基本上,我需要定義「數據」字段的類型來表示它將具有隨機名稱和類型爲DataModel的值的鍵。我試過這樣做:

private data: Object<DataModel> 

但是這是無效的。我將如何指定一個正確的類型?

回答

34

它應該是:

private data: { [name: string]: DataModel }; 

然後這應該工作:

this.data = {}; 
+0

曾爲 - 謝謝! – marius

+0

希望我給這一百萬票!謝了哥們! – Encoder