在回调中引用自己

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