2016-10-27 5 views
3

Ich habe dies in meiner Typisierungen Datei:Typoskript Typ alias für eum

declare namespace Somatic { 
    enum PropType { 
     html, 
     object, 
     css 
    } 
} 

in einer anderen Datei index.ts, ich habe einen kürzeren Alias ​​für dieses Enum als:

type PropType = Somatic.PropType; 

Dann möchte ich den veränderten Aufzählungstyp in einer switch-Anweisung zu verwenden:

switch (propType) { 
    case PropType.html: 
     break; 
    . 
    . 
    . 
    } 

Aber Typoskript erkennt nicht die aliased Enumerationstyp Werte. Was ist hier falsch?

Antwort

0

Grundsätzlich deklariert eine Definitionsdatei einfach den Typ des vorhandenen anderen Codes. Enums in TypeScript sind eigentlich Zahlen, und höchstwahrscheinlich verwendet der vorhandene Code, den Sie oben erstellen, keine tatsächlichen Zahlen. Eine bessere Implementierung wäre wahrscheinlich, nur die Strings zu wechseln;

1

sollten Sie import Schlüsselwort verwenden statt type:

import PropType = Somatic.PropType; 

Weitere Informationen über Import alias Erklärungen here.