这个问题在这里已有答案:
如何将箭头函数作为变量传递给选项卡?
我有这样的功能:
public handleLogin(data) {
this.socket.send(data);
[...]
}
在函数选项卡中:
let tab = [this.handleLogin];
tab[0](data);
但是当我通过选项卡调用handleLogin时,我的socket属性是未定义的(似乎'this'不是指我的类实例,而是指函数实例,所以它不是箭头函数)。
什么是正确的语法?
试试这个
let tab = [(data) => { this.handleLogin(data); }];
tab[0](data);
箭头函数包装器在this
执行期间保留handleLogin
上下文。