Wir haben gerade einen Fehler-Tracker für unsere Ember-Anwendung installiert, und der einzige Fehler, der gemeldet wird, ist Cannot read property 'find' of undefined
. Der Code, der diesen Fehler verursachen ist innerhalb einer Komponente, und sieht wie folgt aus:Ember kann die Eigenschaft 'find' von undefined nicht lesen
this.set('interval', setInterval(() => {
const current = this.get('counter') - 1;
this.set('counter', current);
this.$().find('.countdown-number').text(current); // <- error here
}, 1000));
Ich verstehe nicht, wie dies geschehen kann. Wie kann $()
nicht definiert werden, da es ein Teil des Ember-Frameworks ist?
Nach dem Fehler-Tracker passiert es für eine Reihe von verschiedenen Browsern, neuesten Chrome zum Beispiel. Ich kann den Fehler jedoch in keinem Browser reproduzieren.
Ich weiß, das ist nicht der "ember Weg" zum Aktualisieren eines Textes in einem div, aber ich würde lieber nicht viel neu erstellen, ich möchte nur den Fehler mit so wenig Änderungen wie möglich beheben.
Ahh, das macht wirklich viel Sinn! Der Code in der obigen Frage wurde aktualisiert, und wie Sie sehen können, ist es ein Intervall, das wahrscheinlich auch nach der Zerstörung der Komponente weiterläuft. Das Hinzufügen von 'clearInterval' zu' willDestroyElement' könnte eine Lösung sein, ich werde es ausprobieren. – TheQ
Definitiv sollte dies Dinge reparieren. Sie haben einen Verweis gespeichert als "Intervall", so sollte es schnell behoben werden. :) –
Es funktioniert perfekt, kein einziger Fehler seit 4 Stunden, während wir vorher jede Minute hatten. Vielen Dank! :) – TheQ