据我所知,this
在调用super( )
之前在构造函数中不可用。
但是,在引用实例方法时,我们需要在方法前加this
。那么如何将实例方法传递给super( )
?
e.g。在Phaser framework中,有一个Button
类。构造函数对click事件进行回调:
构造
new Button(game, x, y, key, callback, callbackContext, overFrame, outFrame, downFrame, upFrame)
回调 - 按下此按钮时调用的功能 callbackContext - 将调用回调的上下文(通常为“this”)。
我想要自己的按钮类,我这样定义:
class MyButton extends Phaser.Button {
constructor(game) {
super(game, game.world.centerX, game.world.centerY, 'buttonImage');
}
clickHandler(button, pointer) {
//handle the clicking
}
}
那么我如何将clickHandler
传递给super
?
this.clickHandler
提供错误[Build Error] 'this' is not allowed before super() while parsing file: ....
,仅传递clickHandler
会给我一个Uncaught ReferenceError: clickHandler is not defined
的运行时错误。
有什么建议吗?