【问题标题】: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 路径作为图像,它可能会起作用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-21
    • 1970-01-01
    • 1970-01-01
    • 2020-08-12
    • 2023-03-07
    • 1970-01-01
    相关资源
    最近更新 更多