当我从我的服务中调用一个函数时,这是未定义的

时间:2017-12-28 14:42:37

标签: angular typescript

我在component page

上打了这个电话
this.timerSessionService.startTimer(this.finish.bind(this), this.onSynchronice);

嗯,它适用于this.finish,但是当我从我的onSynchronice拨打Service时,它仍然有效并转到我的component,问题出现在我的component.this我尝试使用onSynchronice调用组件内部的函数,它说:

  

错误错误:未捕获(在承诺中):TypeError:无法设置属性' pew'未定义的

这是因为在我的.this函数中我使用onSynchronice(pew) { console.log(pew["pew"]); //Works perfect this.pew= pew; //Crashes because of .this this.anyfunction(pew); //It crashes and says the same, anyfunction() does not exist, even if it exists } 然后它说它不存在...我该如何解决?

在我的组件上

CreateNewRegKey

1 个答案:

答案 0 :(得分:4)

您可以将onSynchronice定义为箭头功能:

onSynchronice = (pew) => {
    console.log(pew["pew"]);
    this.pew= pew;
    this.anyfunction(pew);
}