我已经创建了一个指向如下方法的简单指针:
export class SmbwaService {
getExistingArsByLab(labId: number): Observable<SmwbaAr[]> {
this.otherMethod();
}
otherMethod(): void {
}
}
let method: (x: number) => Observable<SmbwaAr[]>;
method = this.service.getExistingArsByLab;
method(12);
只要它调用getExistingArsByLab
方法就执行OK。但是,我在尝试调用otherMethod
时遇到错误,因为:
无法读取属性otherMethod of undefined。
正确的方法是什么?显然,在我的实际代码中method
被设置为基于某些条件的多种不同方法之一。
答案 0 :(得分:2)
使用Function.bind
获取与this
的特定值绑定的函数引用:
method = this.service.getExistingArsByLab.bind(this.service)
method(2)