Typoskript Definieren einer Hash-Tabelle von Funktionen

stimmen
8

Ich versuche, eine Definitionsdatei für Lenker zu erstellen, für die Verwendung mit vorkompilierte Lenker Skripten. Lenker wird gesetzt vorkompilierte Skripte in einen String indexiert Hash-Tabelle von Funktionen, aber ich kann nicht herausfinden, oder finden, wie dies würde definiert werden.

Eine hypothetische Definition wäre:

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

aber das ist keine gültige Definition. Die Definition sollte für einen Aufruf wie folgt funktionieren:

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

Eine Definition wie dies nahe :

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

Aber das ist ein Array mit einem numerischen Index, und es ist nicht dasselbe, und VS Intellisense entscheidet nur , dass die Funktionen in der Anordnung sind jeder .

Veröffentlicht am 11/10/2012 um 19:52
quelle vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
12

Was Sie verwenden möchten, ist ein Objekttyp mit einem Index Signatur (spec Abschnitt 3.5.3, speziell 3.5.3.3 sehen).

declare module Handlebars {
    export var templates: {
        [s: string]: (model: any) => string;
    }
}
Beantwortet am 11/10/2012 um 19:57
quelle vom benutzer

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