2017-05-29 42 views
0

在组件:angular 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

我实际上已经厌倦了这一点,但由于某种原因,我没有为我工作,得到“这个”的参考是错误的。对我来说,它的工作原理是这样的:** let tempVariable = this._myService.serviceMethod; this.myOtherFunction(this._myService.serviceMethod.bind(tempVariable)); ** – vaira

相关问题