在TypeScript函数内部使用外部变量
Use outside variables inside a TypeScript function.
我有这个变量:
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
相关文章:
- 定义函数时,如何捕获外部变量的当前值
- jQuery:如何访问外部变量
- 成功回调中的外部变量未正确更新
- 如何通过pickink外部变量在jsfiddle中执行javascript函数
- JQuery 承诺:访问外部变量或将结果传递给 .done 内部的 IIFE
- JsRender:使用 if 语句将 JSON 对象中的值与外部变量进行比较
- jQuery 函数中的外部变量和作用域
- 在 JavaScript 中维护函数外部变量的值
- 如何从传入的预定义回调访问外部变量
- 基于外部变量重新编译指令
- 从函数更改外部变量
- 从AJAX函数中修改外部变量
- 如何通过Javascript在MongoDB 'where'查询中使用外部变量
- 访问Promise链中的外部变量
- Javascript 构造函数,使用引用其他变量的外部变量进行闭包
- 如何在Angular.js指令中将service.js的内部查询结果绑定到外部变量
- 如果内部函数没有'不要使用外部变量的任何变量
- JS如何访问外部变量's函数
- 从@foreach循环内部访问外部变量
- Javascript:访问匿名函数中的外部变量