Ich mache ein einfaches Beispiel hier, wo ich die Phaser-Bibliothek verwende.Typescript - "this" Schlüsselwort Fehler
module GameName {
class GameName extends Phaser.Game{
constructor(width?:number, height?:number){
super(width, height, Phaser.AUTO, 'PhaserDemo', {create:this.create});
}
create() {
this.state.add("Preloader", Preloader, true);
}
}
window.onload =() => {
new GameName(1280, 720);
}
}
Also habe ich einen Fehler, während das Typoskript auf der „this“ hier keyword Kompilieren {erstellen: this.create}
Ich kann nicht verstehen, was ich falsch mache. Ich habe gerade den Konstruktor der Phaser.Game-Klasse in den Konstruktor meiner GameName-Klasse aufgerufen und füge die create-Funktion der Phaser.Game-Klasse als Parameter zum Super-Konstruktor hinzu.
Fehler: ‚super‘ muss vor dem Zugriff auf ‚dies‘ im Konstruktor einer abgeleiteten Klasse aufgerufen werden. (?)
Ja, auf diese Weise ist der Fehler weg und es kompiliert, aber es tritt überhaupt nicht in die Funktion ein. Aber wenn ich es tun auf diese Weise -> Konstruktor (Breite: Anzahl, Höhe: Zahl?) { Super (Breite, Höhe, Phaser.AUTO, 'PhaserDemo', {erstellen:() => { this.state.add ("Preloader", Preloader, true); }}); } } Es funktioniert gut. –