【发布时间】:2020-02-01 17:35:03
【问题描述】:
我有包含图像的 API 数据,但由于互联网问题或其他原因,图像需要太多时间才能完全加载。
有什么办法可以阻止这种加载,因为当所有数据都加载完毕并且图像仍然需要时间来显示时,它看起来很糟糕。
menu.html
<ion-card class="categories_item" *ngFor="let category of categories; let i = index;">
<ion-grid>
<ion-row>
<ion-col size-md="2" size="4" class="img-zoom" align-self-center>
<img [src]="category?.Picture1" (click)="imgView(category?.Picture1)" id="imgClickAble"
class="imgClickAble" />
.....
</ion-col>
<ion-col size-md="9" size="6" (click)="goToitemCategory(category.ID)">
.....
</ion-col>
</ion-row>
</ion-grid>
</ion-card>
我需要显示其他内容,直到像占位符一样加载完整的图像,或者我想缓存图像以供将来使用。
【问题讨论】:
-
您可以为
img标签创建自定义指令。当 API 调用接收到图片的 URL 后,您可以使用new Image()创建一个新图片,并在onload回调中替换src属性。 -
我建议在您从 api 获取 img 时将某种标志设置为 true,默认情况下需要设置为 false。然后在您的模板中使用 *ngIf show 有条件地隐藏占位符 div 和图像
-
@AkshayBhat 它只能帮助隐藏或取消隐藏占位符,但对图像加载速度没有帮助
-
@HarunYilmaz 你能给我举个例子吗?这会很有帮助
-
@Waqarali 我发布了一个工作示例作为答案。
标签: javascript html angular ionic-framework