从下面的代码中:
class MyClass{
imageWidth: number = 0;
img = new Image();
run(){
this.img.onload = function(){
imageWidth = this.naturalWidth; // <--- Want to access imageWidth
}
}
}
在image.onload
内部,如何访问课程中的imageWidth
成员。
并且强迫eslint知道this
是Image
对象
答案 0 :(得分:0)
this
指代您要在其中进行对象的对象。您可以通过执行this.imageWidth
来访问imageWidth。 this.naturalWidth
未定义。
如果属性来自图像,则可以执行this.img.naturalWidth
。但是您尝试的不是javascript的工作方式。
答案 1 :(得分:0)
简而言之:您需要向解释器提示给定功能中的this
是什么,例如:
function(this: Image) {
console.log(this.naturalWidth);
}
参考: