Cast int, um Zeichenfolgen in Typescript zu enumerieren

9

Ich bekomme von einem RESTful Service die folgenden Daten:

%Vor%

Und ich kartiere mit dieser Klasse:

%Vor%

Aber wenn ich in Angular2 auf 'type' zugreife, bekomme ich nur einen int-Wert. Aber ich möchte einen String-Wert erhalten.

z.B.:

%Vor%     
Franz Peter Tebartz van Elst 17.02.2017, 13:31
quelle

3 Antworten

10

Enums in TypeScript sind Zahlen zur Laufzeit, also ist message.type 0 , 1 , 2 oder 3 .

Um den Zeichenfolgenwert zu erhalten, müssen Sie diese Nummer als Index in die Enumeration übergeben:

%Vor%

In Ihrem Beispiel müssen Sie dies tun:

%Vor%

Google Docs

    
James Monger 17.02.2017, 13:38
quelle
10

Enums in TypeScript sind Objekte zur Laufzeit mit Eigenschaften, die von int -> string und von string -> int für alle möglichen Werte gehen.

Um auf den Zeichenfolgenwert zuzugreifen, müssen Sie Folgendes aufrufen:

%Vor%

Stellen Sie sicher, dass Sie den richtigen Typ an den Eigenschaftenaccessor übergeben, da verkettete Aufrufe zu folgendem Ergebnis führen können:

%Vor%     
Teddy Sterne 17.02.2017 13:47
quelle
0

Ich denke mit

%Vor%

Sie erhalten nur den gemappten Wert und nicht die Enumeration. Bitte versuchen Sie den folgenden Code.

%Vor%     
C.Stebner 17.02.2017 14:12
quelle