在回调中引用self

时间:2016-10-16 21:10:19

标签: nativescript

我的代码是:

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()并且需要对方法的引用(而不是匿名函数)

1 个答案:

答案 0 :(得分:3)

订阅on()时,您可以传递第三个参数。第三个参数将用作回调的上下文(this)。所以你可能想做:

target.on("name", this._callback, this);