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!
-
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.
-
@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'.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden