在TypeScript函数内部使用外部变量

Use outside variables inside a TypeScript function.

本文关键字:外部 变量 内部 TypeScript 函数      更新时间:2023-09-26

我有这个变量:

public originalData: Array<any> = [];

这个功能:

canvas.onclick = function (evt) {
            console.log(this.originalData);
}

函数无法查看this.originalData-如何在"onclick"方法中正确访问该变量和其他变量?我现在可以在功能之外做这件事:

var dataCopy = this.originalData;

并通过"dataCopy"访问它,但有没有一种方法可以在不创建新var变量的情况下访问变量

最好的方法可能是使用ES6箭头函数。

与函数表达式相比,箭头函数表达式的语法更短,并且在词汇上绑定this值(不绑定自己的this、arguments、super或new.target)

对于您的应用程序,它看起来像这样:

canvas.onclick = (evt) => {
     console.log(this.originalData); 
};

甚至:

canvas.onclick = e => console.log(this.originalData);

这在JavaScript中有点棘手。函数中的this指向函数。由于您使用的是typescript,您可能有一个类来包装变量和函数。您可以尝试ClassName.originalData