可以使用Angular的内置指令ngIf来检测图片是否存在,并根据结果来决定显示图片还是默认图片。下面是一个示例代码:
在组件的HTML模板中:
在组件的TypeScript代码中:
import { Component } from '@angular/core';
@Component({
selector: 'app-image',
templateUrl: './image.component.html',
styleUrls: ['./image.component.css']
})
export class ImageComponent {
checkImageExists(imageUrl: string): boolean {
const img = new Image();
img.src = imageUrl;
return img.complete && img.naturalHeight !== 0;
}
}
在上面的示例中,我们在组件中定义了一个checkImageExists
方法,该方法接受一个图片URL作为参数。在该方法中,我们创建了一个新的Image对象,并将图片URL赋值给它的src属性。然后我们检查Image对象的complete属性是否为true,并且naturalHeight属性是否不为0。如果这两个条件都满足,说明图片存在;否则,说明图片不存在。
在HTML模板中,我们使用ngIf指令来根据checkImageExists
方法的返回值来决定是否显示图片。如果图片存在,我们显示原始图片;如果图片不存在,我们显示默认图片。
请注意,为了使该方法正常工作,你可能需要确保图片URL是正确的,并且可以从客户端访问到。
上一篇:Angular 10 - html模板根据变量显示的信息不正确
下一篇:Angular 10 - 加载模块脚本失败:服务器响应的MIME类型是“text/html”,而不是JavaScript。