Ich habe diese einfache Eigenschaft gemacht (Polymer 2.x):Polymer Eigenschaft nicht, wenn gesetzt von Javascript Aktualisierung
static get properties() {
return {
bpm: {
type: Number,
value:() => {
return 0
},
observer: "_bpm"
}
}
}
Ich habe versucht, es zu aktualisieren, indem this.bpm = 60;
in einer Funktion aufgerufen, wenn eine Schaltfläche klicken. Wenn ich den Wert mit console.log(this.bpm);
ausgabe, wird der korrekte Wert angezeigt, aber meine Überschrift <h2 id="bpm">[[bpm]]</h2>
wird nicht aktualisiert und der Beobachter wird nicht aufgerufen.
Wenn bpm
mit etwas wie <paper-slider value="{{bpm}}"></paper-slider>
eingestellt ist, funktioniert es.
Was mache ich falsch? Danke für Ihre Hilfe!
versuchen Sie 'this.set ('bpm', 60)' anstelle von 'this.bpm = 60' zu verwenden. Verwenden Sie die set-Methode, um eine beobachtbare Änderung vorzunehmen. Ihr Beobachter funktioniert korrekt, aber Sie können auch definieren wie 'static get observators() {return ['_bpm (bpm)']}' – HakanC
this.set funktioniert nicht: 'this.set ist keine Funktion'. Der Beobachter funktioniert leider auch nicht. –
Es ist ein seltsames Problem, das ich versucht habe, es zu reproduzieren, aber ohne Erfolg, kannst du all deinen Code hinzufügen? Ich habe eine funktionierende [jsfiddle] (https://jsfiddle.net/caribouflex/8qj2t1r3/) erstellt, die dir vielleicht helfen kann (öffne sie auf Chrome). – Caribouflex