(Angular 5)javascript图像onload in angular

时间:2018-04-30 06:37:39

标签: javascript angular

我想在角度

中使用Image.onload = function () {}

我的代码

loadImage(path) {
  this.loadedImage = new Image();
  this.loadedImage.crossOrigin = "Anonymous";
  this.loadedImage.src = path;

  this.loadedImage.onload = function () {
    this._PreviewHelper.changeModelTexture(this.model, this.loadedImage);     
  }
}

有没有办法在角度上使用此事件。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:6)

如果可以,请尝试使用角度内置功能。<​​/ p>

在loadImage函数中

this.imageSrc = path;  

创建要在图像加载时调用的函数

onImageLoad() {
    // Do what you need in here
}

在模板中:

<img [src]="this.imageSrc" (load)="onImageLoad()" />

答案 1 :(得分:2)

如果给出了正确的图像路径,则会调用

onload。

如果仍然无效,请检查    1)在哪里调用方法loadImage?    2)预览帮助行

是否有任何问题

编辑1:

如果您使用funtion,请尝试以下操作:

this.loadedImage.onload = function () {
    let that = this;
    that._PreviewHelper.changeModelTexture(that.model, that.loadedImage);     
}

否则,请尝试:(https://stackblitz.com/edit/angular-rzlmee

this.loadedImage.onload = ()=> {
    this._PreviewHelper.changeModelTexture(this.model, this.loadedImage);     
  }