我正在尝试创建一个类的实例,该类仅设置侦听器,但无需在该类中手动调用任何方法。
下面是我在html文件中加载的模块,我创建了一个简单的MVC模式,但在第4行出现eslint错误。 我需要运行GameController类的构造函数才能设置侦听器,但为此,我需要它的一个实例。
我尝试在GameController类中创建一个虚拟函数并调用它。摆脱了错误,但显然那不是要走的路,我正在寻找一种干净的替代方法。
function init() {
let data = new GameData(),
view = new GameView(data),
controller = new GameController(data, view);
}
init();
class GameController {
constructor(data, view) {
this.data = data;
this.view = view;
this.letterGenerator = LetterGenerator();
this.view.addEventListener(Config.EVENT.CONSONANT, this.onConsonantClicked
.bind(this));
this.view.addEventListener(Config.EVENT.VOWEL, this.onVowelClicked.bind(
this));
this.view.addEventListener(Config.EVENT.STOP, this.onGameEnd.bind(this));
}
onVowelClicked() {
...
}
onConsonantClicked() {
...
}
onGameEnd(event) {
...
}
}
我想要的是实例化GameController但不使用它,基本上是eslint强迫我在GameController类中创建一个虚拟函数,以消除错误。