Loggfila Definere en hash table funksjoner

stemmer
8

Jeg prøver å lage en definisjonsfilen for styret, for bruk med forhånds kompilert handlebar skript. Styret vil sette pre-kompilert skript til en streng indeksert hash table av funksjoner, men jeg kan ikke finne ut eller finne hvordan dette ville bli definert.

En hypotetisk definisjon ville være:

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

men det er ikke en gyldig definisjon. Definisjonen bør arbeide for en samtale som dette:

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

En definisjon som dette er nær :

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

Men det er en matrise med en numerisk indeks, og det er ikke det samme, og VS IntelliSense bare bestemmer seg for at de fungerer i matrisen er noen .

Publisert på 11/10/2012 klokken 18:52
kilden bruker
På andre språk...                            


1 svar

stemmer
12

Hva du ønsker å bruke er en objekttype med en indeks signatur (se spec avsnitt 3.5.3, spesielt 3.5.3.3).

declare module Handlebars {
    export var templates: {
        [s: string]: (model: any) => string;
    }
}
Svarte 11/10/2012 kl. 18:57
kilden bruker

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