Hallo Leute,
ich bin jetzt fast fertig mit meiner ersten Applikation, würde aber gerne wissen wie ich eine selbstgeschriebene Klasse in Ares einbinden kann, damit ich nicht alles 10fach und mehr machen muss.
Hallo Leute,
ich bin jetzt fast fertig mit meiner ersten Applikation, würde aber gerne wissen wie ich eine selbstgeschriebene Klasse in Ares einbinden kann, damit ich nicht alles 10fach und mehr machen muss.
Hallo,
mach das genau so wie ohne Ares
Also, ich mache das immer mit einem extra Ordner unterhalb des /app folders, dort dann z.B. "lib" oder ähnliches, dann deine Datei dort hinein kopieren.
Anschließend noch in der /sources.json manuell deine Datei mit dem Pfad hinzufügen.
Danach solltest du Zugriff auf die Funktionen deines Files haben.
Danke, klappt soweit ganz gut- nur, wie schaffe ich es das Ares mir in einem Label eine Variable ausgibt (er gibt mir immer nur den Variablennahmen, sorry, bin noch ein Anfänger);)
Du musst das label updaten im JS Code.
Beim Label bin ich mir jetzt nicht ganz sicher (hab gerade nichts zum testen hier) aber per "this.$.LABELNAME" hast du Zugriff auf das Label in der zugehörigen .js Datei.
Evtl. reicht ein .setLabel("Anderer Text") schon aus.
Also:
Du kannst auch versuchen einfach in der Ares UI im Text-Feld wo du normalerweise den Text definierst einfach mal ein $L(variablenName) also ohne Anführungszeichen usw. zu setzen, das sollte seit 1.0 auch funktionieren. Das $L() sagt aus das er gleich lokalisiert wenn du mehrere Sprachen verwenden willst, aber auf diesen Wege kannst du auch eine Variable übergeben.
ja das funktioniert genau so.
Der andere (umständlichere) Weg wäre einen Modellnamen zu vergeben, das Modell zu updaten und anschließend modellchanged aufzurufen. Der gezeigte Ares Weg via this.$.LabelName ist hier aber viel einfacher und damit besser.
Viele Grüße
Jörg
Hallo Leute,
Danke für die (guten!) tipps. Ich habe das jetzt in meinem App das verwendet aber weiss jemand, wo hier der Wurm steckt?:
Der quellcode für den Szenenaufruf sieht so aus:
Mo1tap: function(inSender, event) {
this.controller.stageController.pushScene("Eingabe", this.$.Mo1kuerzel);
},
Damit übergebe ich ihm das Label this.$.Mo1kuerzel (wird ein Stundenplan ).
Der quellcode für die aufgerufene Szene sieht so aus:
function EingabeAssistant(a, b, c, d, e) {
this.$.a.Label = this.a;
}
EingabeAssistant.prototype = {
setup: function() {
Ares.setupSceneAssistant(this);
},
cleanup: function() {
Ares.cleanupSceneAssistant(this);
this.$.a.setLabel(this.$.fachkuerzel.Label);
}
};
in der setup funktion definiere ich die eingabe a als this.$.a und in der cleanup funktion soll dann der Variable this.$.fachkuerzel.Label übergeben werden damit in der vorherigen szene beim zurückgehen das Label die eingabe übernimmt.
Mfg,
zaungast