NEWS
[gelöst] Frage zu Binding in Widget
-
Hallo,
ich habe in das Widget Basic-bar folgendes Script eingefügt:function numberToRgbColor(i) { var rgb = [61,153,63]; if ( i < 21 ) { rgb = [217,22,22]; // Rot } else { if ( i < 23 ) { rgb = [255,204,0]; // Gelb } else { rgb = [61,153,63]; // Grü } } return 'rgb(' + rgb[0] + ',' + rgb[1] + ',' + rgb[2] + ')'; }
Danach habe ich die basic-bar incl. dem Script 2 mal kopiert.
Wenn ich in dem 1. Script die Grenzwerte ändere, werden sie auch in den anderen Scripten geändert.
Im Widget habe ich unter Farbe folgendes eingefügt:{n:nut.0.battery.charge;numberToRgbColor(n)}
bzw. den Teil nut.0.battery.charge gegen die entsprechenden Variablen ausgetauscht.Wie ist der Bezug von "n" nach "i"? Verstehe ich nicht.
Wo habe ich den Fehler gemacht? -
@GregorS
Hi,
Wenn du in allen Widgets 'n' als Variable nutzt, vermute ich, wird auch in allen Widgets n gesetzt.
Nutze mal in allen Widgets andere Varuiablen denen du battery zuweist und die du an das Script übergibst. -
@GregorS sagte in Frage zu Binding in Widget:
Wie ist der Bezug von "n" nach "i"? Verstehe ich nicht
du übergibst der Funktion die Variable "n", die innerhalb der Funktion als "i" verarbeitet wird.
-
Habe n gegen andere Variablen getauscht, immer noch das gleiche Phänomen.
Wenn ich im 1. Script die Variable i gegen k tausche werden auch bei allen Sripten i gegen k getauscht. -
Hallo,
klappt denn so was nicht:{n:nut.0.battery.charge;(n<21)?"red":(n<23)?"yellow":"green"}
-
@bahnuhr
Funktioniert.
Mein Script galt für die ganze View, nicht für das Widget -
Na dann schreib dies doch in jedes widget.
Das funktioniert.