我的打字稿类中有一个像这样定义的处理程序
"handler": function (response) {
this.sendUserStatus();
},
但是当我调用 this.sendUserStatus(); 我收到以下错误
Uncaught TypeError: this.sendUserStatus is not a function
如何调用 this.sendUserStatus()?
答案 0 :(得分:3)
使用箭头函数:
"handler": (response) => this.sendUserStatus()
否则,如果您使用 this
关键字,function
上下文将丢失。
另外,请注意您使用的是 angular,而 ngZone 可能不会修补此类事件。您应该重新进入该区域:
constructor(private ng: NgZone) {}
"handler": this.ng.run(() => (response) => this.sendUserStatus())