Ich habe ein Objekt, das ich auf einer Leinwand zeichnen möchte. Es verwendet requestAnimationFrame
, um eine Spielschleife zu starten:
Contoso.ts
%Vor%app.ts
%Vor% Beim ersten Aufruf von Initialize
kann requestAnimationFrame
korrekt Render
aufrufen.
Das zweite Mal requestAnimationFrame
ruft Render
auf, das this.Render
ist undefined
und es stürzt ab.
Es ist fast so, als ob das Objekt nach dem ersten Aufruf von Initialize
zerstört wurde.
Was ist los?
Sie haben this
context verloren. Zwei mögliche Korrekturen:
Der alternative Fix ist wahrscheinlich etwas übersichtlicher, hat aber den Nachteil, viel mehr Zuweisungen zu machen (Sie wollen wahrscheinlich nicht 1 Schließung pro Frame zuweisen!)
%Vor%Auf Firefox 49.0.1 Ich habe eine Fehlermeldung mit Ryan Cavanaugh Lösung.
SyntaxError: schlechte Methodendefinition
für die Zeile:
Rendern = () = & gt; {
Die Arbeit, die ich gefunden habe, sieht so aus:
%Vor%Tags und Links javascript typescript requestanimationframe this