typescript - Bruk requestAnimationFrame i en klasse
Jeg har problemer med å finne ut hvordan jeg kan bruke requestAnimationFrame i en klasse.
Denne koden fungerer fint:
window.onload = function () {
var width = 20;
function animation() {
width++;
var element = document.getElementById("box");
element.style.width = width + "px";
requestAnimationFrame(animation);
}
requestAnimationFrame(animation);
};
Men når jeg prøver å sette det inn i en klasse, får jeg ikke noe resultat.
class Animation{
width: number = 20;
constructor() {
requestAnimationFrame(this.loop);
}
loop() {
this.width++;
var element = document.getElementById("box");
element.style.width = this.width + "px";
requestAnimationFrame(this.loop);
}
}
window.onload = function () {
var animation = new Animation();
};
Kan noen fortelle meg hva som er galt her?
Svar #1
requestAnimationFrame(this.loop); Hvis du sender noen en funksjon som de skal kalle, bruk en pil, f.eks. requestAnimationFrame(()=>this.loop()); eller loop =() => {
Mer: https://www.youtube.com/watch?v=tvocUcbCupA