【问题标题】:How to lazy load images in ionic slider?如何在离子滑块中延迟加载图像?
【发布时间】:2019-04-03 18:52:28
【问题描述】:
我有很多设备库本地图像路径,我正在使用Ionic PhotoLibrary 检索它们。然后我尝试使用离子滑块显示这些图像,如下所示:
<ion-slides>
<ion-slide *ngFor="let img of images">
<img [src]="img.photoURL | cdvPhotoLibrary"/>
</ion-slide>
</ion-slides>
其中,
images 是 LibraryItem 的数组。然后 photoURL 包含图片的 cdvfilepath://。
但是,只有当有 2 到 3 张图像时,滑块才能正常工作。当图片数量增加时应用会崩溃。
请给我解决方案!!!
【问题讨论】:
标签:
ionic-framework
ionic3
ionic-native
【解决方案1】:
您可以使用 ng-lazyload-image 库。
通过npm install ng-lazyload-image --save安装它
然后在 app.module.ts 中声明为
import { LazyLoadImageModule, intersectionObserverPreset } from 'ng-lazyload-image';
并将其添加到导入中
LazyLoadImageModule.forRoot({
preset: intersectionObserverPreset
})
然后只需添加[lazyLoad]="image" 代替src="image"
您要延迟加载图像的位置。
自己测试过,效果很好。
【讨论】:
-
感谢您的回答。我按照你说的做了,但对我不起作用。添加后,我什至无法加载页面。如果我使用 uri 作为我的图像路径,你的答案肯定会起作用,但我使用 cdvphotolibrary:// 路径来显示图像,所以它对我不起作用。如果
标签将使用简单的 uri 路径作为图像,它可能会起作用。