Maszynopis Definiowanie tabeli mieszania funkcji

głosy
8

Próbuję utworzyć plik definicji dla kierownicy, do użytku z wstępnie skompilowane skrypty kierownicy. Kierownice położy wstępnie skompilowane skrypty do łańcucha indeksowane tablica mieszająca funkcji, ale nie mogę dowiedzieć się, czy znaleźć jak miałoby to być zdefiniowane.

Hipotetyczna definicja byłaby:

declare module Handlebars {
    export var templates: { (model:any) => string; }[index: string];
}

ale to nie jest ważne definicja. Definicja ta powinna działać na wywołanie takiego:

var myHtml = Handlebars.templates[person-template]({FNmae: Eric});

Definicja jak to jest w pobliżu :

export var templates: { (model:any) => string; }[];

Ale to tablica z indeksu liczbowego, a to nie to samo, i VS Intellisense prostu decyduje, że funkcje w tablicy są dowolne .

Utwórz 11/10/2012 o 19:52
źródło użytkownik
W innych językach...                            


1 odpowiedzi

głosy
12

Co chcesz użyć jest typ obiektu z podpisem indeksu (patrz punkt 3.5.3 niespełniającego konkretnie 3.5.3.3).

declare module Handlebars {
    export var templates: {
        [s: string]: (model: any) => string;
    }
}
Odpowiedział 11/10/2012 o 19:57
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more