NEWS
Typescript Zugriff auf enum members
-
Hallo, ich habe eine Aufzählung definiert
enum.status.alarm der ich verschiedene Geräte zugewiesen habe.
Jetzt möchte ich auf die members in meinem Typescript Skript zugreifen:
getObject("enum.status.alarm").common.members;
ERROR: Property 'members' does not exist on type 'StateCommon | ObjectCommon | ChannelCommon | OtherCommon'. Property 'members' does not exist on type 'StateCommon'.
Ich sehe aber eigentlich, dass members schon da sind:
var alarm = getObject("enum.status.alarm");
console.log(JSON.stringify(alarm));{"id":"enum.status.alarm","common":{"name":"Alarm","members":["knx.0.Beleuchtung&_Schaltbares.Status_Schalten.Zimmer_3_Licht_Decke_Status_Schalten","knx.0.Heizung.Meldungen.Störung_Heizaktor_Linie_0","knx.0.Heizung.Meldungen.Störung_Heizaktor_Linie_1", usw.
Wie komme ich an meine definierten enums?
Vielen Dank!
-
@ayes sagte: Wie komme ich an meine definierten enums?
Genau so:
@ayes sagte in Typescript Zugriff auf enum members:
getObject("enum.status.alarm").common.members;
Lass Dich nicht vom Editor irritieren, denn der kennt nicht alle möglichen common-Attribute und meckert dann.
EDIT: Typescript wirft tatsächlich einen Compiler-Fehler. Mit Javascript funktioniert es.
-
@paul53
Vielen Dank für die schnelle Antwort. In Javascript funktioniert der Zugriff auch wie Du vorgeschlagen hast:getObject("enum.status.alarm").common.members;
Aber in Typescript bekomme ich leider einen Compiler Fehler:
javascript.0 (7963) script.js.benachrichtigungen.Alarm: TypeScript compilation failed: getObject("enum.status.alarm").common.members; ^ ERROR: Property 'members' does not exist on type 'StateCommon | ObjectCommon | ChannelCommon | OtherCommon'. Property 'members' does not exist on type 'StateCommon'.