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# 委托参数难道我在这里做得不对
答
使用bind(this)
或匿名箭头包装:
this.myOtherFunction(this._myService.serviceMethod.bind(this))
我实际上已经厌倦了这一点,但由于某种原因,我没有为我工作,得到“这个”的参考是错误的。对我来说,它的工作原理是这样的:** let tempVariable = this._myService.serviceMethod; this.myOtherFunction(this._myService.serviceMethod.bind(tempVariable)); ** – vaira