ani*_*vas 6 javascript ecmascript-6
我是ES6语法的新手,我原来的代码有更多的实现,但我已经简化了.我收到一个错误,说无法读取未定义的属性'Method2'.我在这做错了什么?我是否必须进行任何绑定调用.
class Class1 {
constructor() {
eventbus.subscribe(this.Method1);
}
Method1() {
this.Method2();
}
Method2(){
}
}
Run Code Online (Sandbox Code Playgroud)
你需要做eventbus.subscribe(this.Method1.bind(this));
由于您将方法关联到在其他位置运行,因此您将确定它将在哪个范围内运行。强制绑定到 this 将确保Class1将使用该实例。
编辑:由于 ES6 允许箭头函数,你也可以这样做eventbus.subscribe(() => this.Method1());,因为它是由 @torazaburo 引用的
| 归档时间: |
|
| 查看次数: |
5346 次 |
| 最近记录: |