属性“ load”在类型“ HTMLElement”上不存在

时间:2019-04-15 13:54:02

标签: angular typescript

在我的打字稿文件上收到警告:

类型“ HTMLElement”上不存在属性“加载”。

.ts文件:

document.getElementById('audio-player').load();

html:

<audio preload="auto" controls #audio id="audio-player"> <source src={{music}}>
</audio>

我已经尝试过了,但是遇到了同样的错误。

let load: HTMLElement = document.getElementById('audio-player').load();

1 个答案:

答案 0 :(得分:0)

请尝试按以下方式读取数据,对于HTML元素

<audio preload="auto" controls #audio (change)="readAudio($event)" id="audio-player">
         <source src={{music}}>
</audio>
readAudio(event) {
    let file = event.target.files[0];
    let myReader: FileReader = new FileReader();
    myReader.onloadend = (e) => {
      console.log(myReader.result);
      this.fileString = myReader.result;
   };
   myReader.readAs...(file);
}

这是处理文件的简单方法,但是如果要保持原样,则必须注册事件

<img src="myImage.jpg">

然后

// 'loadstart' fires first, then 'load', then 'loadend'

image.addEventListener('load', function(e) {
  console.log('Image loaded');
});

image.addEventListener('loadstart', function(e) {
  console.log('Image load started');
});

image.addEventListener('loadend', function(e) {
  console.log('Image load finished');
});

查看此https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onloadend链接。