我想从使用带有打字稿的新图像()加载的图像中获取一些信息。我试试这段代码:
width;
heigth;
init(){
let image = new Image();
image.src = "url";
image.onload((event) => {
this.width = event.width;
this.heigth = event.heigth;
})
}
但是我收到了这个错误:
void'不能分配给'Event'类型的参数。属性 '()=>类型中缺少'bubbles'无效“
我搜索有关如何使用此事件的示例,但我找不到任何内容。
答案 0 :(得分:4)
您正在尝试调用onload
而不是分配事件处理程序。这是一个快速解决方案......
image.onload = (event) => {
// ...
};
您还会发现一般Event
类型没有宽度和高度,因此您可能还需要为此类型专门化。
interface SizedEvent {
width: number;
height: number;
}
function isSizedEvent(e: any): e is SizedEvent {
return (e && e.width !== undefined && e.height !== undefined);
}
image.onload = (event) => {
if (isSizedEvent(event)) {
// event.width is now available
}
};