typescript arrow作为选项卡中的指针变量[重复]

问题描述 投票:2回答:1

这个问题在这里已有答案:

如何将箭头函数作为变量传递给选项卡?

我有这样的功能:

public handleLogin(data) {
  this.socket.send(data);
  [...]
}

在函数选项卡中:

let tab = [this.handleLogin];

tab[0](data);

但是当我通过选项卡调用handleLogin时,我的socket属性是未定义的(似乎'this'不是指我的类实例,而是指函数实例,所以它不是箭头函数)。

什么是正确的语法?

angular typescript
1个回答
1
投票

试试这个

let tab = [(data) => { this.handleLogin(data); }];
tab[0](data);

箭头函数包装器在this执行期间保留handleLogin上下文。

© www.soinside.com 2019 - 2024. All rights reserved.