Typescript - “this”关键字错误

时间:2017-02-16 07:39:03

标签: javascript oop typescript

我在这里做一个简单的例子,我正在使用Phaser库。

    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);
    }
}

所以我在这里编译“this”关键字上的Typescript时遇到错误{create:this.create}

我无法理解我做错了什么。我只是将Phaser.Game类的构造函数调用到我的GameName类的构造函数中,并且我将Phaser.Game类的create函数作为参数添加到超级构造函数中。

错误:必须在派生类的构造函数中访问“this”之前调用 'super'。

1 个答案:

答案 0 :(得分:1)

尝试在匿名函数中包装this.create函数

constructor(width?:number, height?:number){
  super(width, height, Phaser.AUTO, 'PhaserDemo', {
    create: () => this.create(),
  });
}