在 Angular 12 内完成加载后显示完整图像
show full image after load is completed in Angular 12
我从服务器读取带有 API 的图像 src。
我希望图像在完全加载之前不显示,而是在加载时显示骨架(图像显示在部分中,我希望在图像完全显示时销毁骨架)
这是我的代码,但它没有按预期工作
HTML:
<div class="col-12 p-0">
<ngx-skeleton-loader *ngIf="imgLoad == false" count="1" [theme]="
{'borderradius':'7', 'background-color': '#ccc','margin-top':'0', 'min-height':
'25vh','width':'100%' }"></ngx-skeleton-loader>
<img (load)="loadImage()" [hidden]="imgLoad == false" src="assets/image/job1.jpg"
alt="" class="w-100 h-auto image-border">
</div>
TS :
imgLoad:boolean = false;
loadImage(){
this.imgLoad = true;
}
现在你从资产而不是 API 服务器读取图像!
但我尝试了你的代码并将 *ngIf="imgLoad == false"
更改为 *ngIf="imgLoad === false"
并将 [hidden]="imgLoad == false"
更改为 [hidden]="imgLoad === false"
,所以它工作正常
stackblitz link:https://stackblitz.com/edit/angular-nnefsj?file=src/app/app.component.html
只需为骨架和图像设置您喜欢的宽度和高度即可。
如果您需要在 ts 文件中使用来自服务的 scr,只需在 img 标签中使用 [src]
。
我从服务器读取带有 API 的图像 src。 我希望图像在完全加载之前不显示,而是在加载时显示骨架(图像显示在部分中,我希望在图像完全显示时销毁骨架) 这是我的代码,但它没有按预期工作
HTML:
<div class="col-12 p-0">
<ngx-skeleton-loader *ngIf="imgLoad == false" count="1" [theme]="
{'borderradius':'7', 'background-color': '#ccc','margin-top':'0', 'min-height':
'25vh','width':'100%' }"></ngx-skeleton-loader>
<img (load)="loadImage()" [hidden]="imgLoad == false" src="assets/image/job1.jpg"
alt="" class="w-100 h-auto image-border">
</div>
TS :
imgLoad:boolean = false;
loadImage(){
this.imgLoad = true;
}
现在你从资产而不是 API 服务器读取图像!
但我尝试了你的代码并将 *ngIf="imgLoad == false"
更改为 *ngIf="imgLoad === false"
并将 [hidden]="imgLoad == false"
更改为 [hidden]="imgLoad === false"
,所以它工作正常
stackblitz link:https://stackblitz.com/edit/angular-nnefsj?file=src/app/app.component.html
只需为骨架和图像设置您喜欢的宽度和高度即可。
如果您需要在 ts 文件中使用来自服务的 scr,只需在 img 标签中使用 [src]
。