2017-05-29 9 views
0

:サービスでコンポーネント2のパラメータとして角2が渡されます。コンポーネントで

myFunction(): void { 
    this.myOtherFunctoin(this._myService.serviceMethod); 
} 

private myOtherFunction(func : Function){ 
    func(); 
} 

serviceMethod(){ 
    this.somethingMethod(); // "this" is coming as undefined in debugger 
    this.somethingVariable = true; 
} 

を呼び出す私はC# にデリゲートのようなパラメータとしてメソッドを渡したい私はここで何か間違ったことをやっている

答えて

2

使用bind(this)か匿名矢印ラッパー:

this.myOtherFunction(this._myService.serviceMethod.bind(this)) 
+0

私は実際にこれを疲れましたが、何らかの理由で私のために働いていなかったので、 "this"の参照が間違っていました。私にとっては、このように動作します:** let tempVariable = this._myService.serviceMethod; this.myOtherFunction(this._myService.serviceMethod.bind(tempVariable)); ** – vaira

関連する問題