在image.onload函数内部时,访问类对象和图像对象

时间:2019-04-25 08:16:22

标签: typescript

从下面的代码中:

class MyClass{
  imageWidth: number = 0;
  img = new Image();
  run(){
    this.img.onload = function(){
      imageWidth = this.naturalWidth; // <--- Want to access imageWidth
    }
  }
}

image.onload内部,如何访问课程中的imageWidth成员。 并且强迫eslint知道thisImage对象

2 个答案:

答案 0 :(得分:0)

this指代您要在其中进行对象的对象。您可以通过执行this.imageWidth来访问imageWidth。 this.naturalWidth未定义。

如果属性来自图像,则可以执行this.img.naturalWidth。但是您尝试的不是javascript的工作方式。

答案 1 :(得分:0)

简而言之:您需要向解释器提示给定功能中的this是什么,例如:

function(this: Image) {
  console.log(this.naturalWidth);
}

参考: