2016-08-29 10 views
10

mam obiektu do przechowywania w pamięci podręcznej danych, który powinien wyglądać tak:Jak zdefiniować obiekt typu obiektów w maszynopisie

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

próbuję przypisać pusty obiekt do niego w konstruktorze:

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

Zasadniczo muszę zdefiniować typ pola "data", aby powiedzieć, że będzie miał klucze z losowymi nazwami i wartościami typu DataModel. Próbowałem to zrobić:

private data: Object<DataModel> 

Ale jest to nieważne. Jak określić poprawny typ?

Odpowiedz

34

Powinno być:

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

I wtedy to powinno działać:

this.data = {}; 
+0

Pracował - dziękujemy! – marius

+0

Chciałbym dać milion głosów! Dzięki stary! – Encoder

Powiązane problemy