typescript arrow在选项卡中用作指针变量

时间:2018-05-15 08:57:36

标签: angular typescript

如何在标签中将箭头功能作为变量传递?

我有这样的功能:

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

位于功能选项卡中:

let tab = [this.handleLogin];

tab[0](data);

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

正确的语法是什么?

1 个答案:

答案 0 :(得分:1)

试试这个

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

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