在回调中引用自己
Referencing self in a callback
我的代码是:
class myclass observable.Observable
{
let label = "test";
navigatingTo(args: observable.EventData)
{
target.on( "name", this._callback );
}
_callback ( eventData )
{
console.log( this.label);
}
}
当我在回调中打印出 this.label 时 - "this" 对象不是我期望的对象 - 我认为应该是 myclass 实例。
我有一个单独的回调方法,因为我稍后还会调用 .off() 并且需要对该方法的引用(与匿名函数相反)
您可以在使用 on()
订阅时传递第三个参数。第三个参数将用作回调的上下文(this)。所以你可能想做:
target.on("name", this._callback, this);
我的代码是:
class myclass observable.Observable
{
let label = "test";
navigatingTo(args: observable.EventData)
{
target.on( "name", this._callback );
}
_callback ( eventData )
{
console.log( this.label);
}
}
当我在回调中打印出 this.label 时 - "this" 对象不是我期望的对象 - 我认为应该是 myclass 实例。
我有一个单独的回调方法,因为我稍后还会调用 .off() 并且需要对该方法的引用(与匿名函数相反)
您可以在使用 on()
订阅时传递第三个参数。第三个参数将用作回调的上下文(this)。所以你可能想做:
target.on("name", this._callback, this);