Was ist der richtige Weg, Enum in Typoskript zuzuordnen?Mapping Enum in Typoskript
Zum Beispiel ich mit einem Online-Typoskript-Code-Editor spielte um und das funktioniert gut:
class Message
{
name: string;
min: number;
max: number;
messageType: MessageType;
}
enum MessageType
{
none,
email,
sms
}
var jsonObj = {
"name": "some name",
"min": 0,
"max": 10,
"messageType": MessageType.email
}
var messageInstance: Message = <Message>jsonObj;
console.log(messageInstance);
jedoch in meinem IDE MessageType.email
zeigt einen Fehler von „Wert erwartet“, wenn ich es in einer JSON-Datei verwenden .
Wenn ich versuche:
"messageType": "MessageType.email"
Im Online-Code-Editor dann, die einen Fehler erzeugt.
Ich bin gerade am Anfang und kann keine klaren Anweisungen finden, wie dies zu tun ist.
edit:
Ich habe gerade realisiert Aufzählungen Zahl basiert so "messageType": 2
oder was auch immer entsprechende Zahl wäre der richtige Weg zu gehen.
Gibt es eine Möglichkeit, die Enum in der JSON-Datei lesbar (dh so etwas wie MessageType.Email als Wert) als wenn allein gesehen die JSON-Datei nicht die Enum-Definitionen so verwirrend, so würde ich vielmehr tun es auf diese Weise, wenn möglich ..
Dank. Ich kenne diese Syntax nicht: 'type MessageTypeValue = 'none' | 'E-Mail' | 'SMS'; 'Wie heißt das? – Guerrilla
Es ist ein [type alias] (https://www.typescriptlang.org/docs/handbook/advanced-types.html#type-aliases). Es erstellt einen Typ namens "MessageTypeValue", der dem Union-Typ "none" entspricht 'E-Mail' | "sms". –