NEWS
Eigene Klassen importieren und an mehreren Stellen verwenden
-
@alcalzone
Ach witzig. Hab jetzt folgendes Problem.Dateien: module.js, global.js, script1.js, script2.js
Im module.js steht die Klassendefinition inkl. Attribut1 mit getAttribut1() und setAttribut1().
Die Datei global.js liegt im Global Ordner. Dort wird die module.js importiert und eine neue Instanz davon erzeugt, die in mehreren Skripten verwendet werden soll.
script1.js setzt jetzt ein Attribut1 der Instanz aus global.js auf true (default ist false).
script2.js möchte Attribut1 der Instanz aus global.js auslesen und bekommt false zurück.Ich nehme an, das liegt daran, dass nicht die selbe Instanz referenziert wird, sondern eine neue Instanz für script1 und script2 erzeugt wird, da das global script ja einfach vor script1 und script2 "kopiert" wird. Richtig?
Falls ja, machts mir das jetzt natürlich schwer...
Dann kann ich keine Attribute aus Klassen verwenden.@jlssmt Richtig, alle "echten" Skripte laufen in ihrem eigenen separaten Kontext. Wenn du Daten zwischen diesen austauschen willst, musst du States nutzen oder messages zwischen den Skripten austauschen:
https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#messageto