2016-10-16 5 views
0

내 코드는 다음과 같습니다참조하는 자기

class myclass observable.Observable 
{ 
    let label = "test"; 

    navigatingTo(args: observable.EventData) 
    { 
     target.on("name", this._callback); 
    } 

    _callback (eventData) 
    {  
     console.log(this.label); 
    } 
} 

내가 콜백에 this.label을 인쇄 할 때 - "이"개체 내가 기대하는 개체가 아닙니다 - 나는 MyClass의 인스턴스를해야한다고 생각하는 .

내가 나중에) (.OFF 전화 드렸습니다 때문에 콜백에 대해 별도의 방법을 가지고와 (익명 함수와 반대) 메서드에 대한 참조를 필요로 한

+0

예제의 전체 코드를 게시 할 수 있습니까? 전체 그림을 얻는 데 도움이됩니다. –

답변

3

당신은 때 세 번째 인수를 전달할 수 있습니다 on()을 구독하십시오. 세 번째 인수는 콜백에 대한 컨텍스트 (this)로 사용됩니다. 따라서 당신은 다음과 같이하고 싶을 것입니다 :

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