• vue中实现图片懒加载的几种方法


    Vue-lazyload 是一个基于 Vue.js 的图片懒加载库,它的实现原理是基于 Intersection Observer API。Intersection Observer API 是一种异步观察目标元素与其祖先元素或顶级文档视窗交叉状态的方式。

    Vue-lazyload 的实现原理如下:

    1. 在需要懒加载的图片元素上添加一个自定义指令 v-lazy,并将其参数传递给 Vue-lazyload 组件。
    2. Vue-lazyload 组件通过 Intersection Observer API 监听目标元素的交叉状态,即当目标元素进入可视区域时触发回调函数。
    3. 在回调函数中,Vue-lazyload 组件会通过 $emit 触发一个加载事件,通知父组件加载图片。
    4. 父组件在接收到加载事件后,会通过 $src 或者其他方式设置图片的真实路径,完成图片的加载。

         通过这种方式,Vue-lazyload 可以实现图片的懒加载,即在图片进入可视区域时才加载,从而提高页面加载速度和性能。

    一、使用Vue本身的指令

    Vue本身提供了一个指令v-lazy,可以实现图片懒加载。使用方式如下:

    "imageSrc" />

    其中,imageSrc是需要懒加载的图片路径。当图片进入可视区域时,Vue会自动加载图片。

    二、使用第三方库(推荐)

    vue社区中有许多第三方库可以实现图片懒加载,例如vue-lazyload、vue-lazyload-enhanced等。这些库提供了更多的配置项和功能,可以满足更多的需求。使用方式如下:

    2.1  安装下载

    npm i vue-lazyload@1.2.3 -S

    2.2  main.js 导入

    1. import VueLazyload from 'vue-lazyload'
    2. Vue.use(VueLazyLoad, {
    3. // 可选配置项,可省略
    4. error: require('./error.jpg'), // 加载失败时显示的图片
    5. loading: require('./loading.gif'), // 加载中时显示的图片
    6. preLoad: 1.3, // 预加载高度的比例
    7. attempt: 3 // 尝试加载次数
    8. })

    2.3  页面使用

    1. // 个人实操使用,可参考

     三、自定义指令

    除了使用Vue本身的指令和第三方库外,还可以通过自定义指令来实现图片懒加载。在自定义指令中,可以通过Intersection Observer API来监听目标元素的交叉状态,从而实现图片的懒加载。使用方式如下:

  • 相关阅读:
    hi3559编译opencv4.2.0 并使用
    如何批量新建文件夹,名称用excel里的
    CodeForces - 448B Suffix Structures
    阿里云k8s服务之间偶尔获取不到dns解析安装ACK NodeLocal DNSCache
    驾校管理系统的设计与实现/驾校信息管理系统
    ChromeOptions 设置WebDriver/ChromeDriver的请求头参数
    【深度学习】 Python 和 NumPy 系列教程(廿七):Matplotlib详解:3、多子图和布局:散点矩阵图(Scatter Matrix Plot)
    焱融全闪系列科普| 为什么 SSD 需要 NVMe?
    大数据Flink(六十七):SQL & Table 简介及运行环境
    [Study]操作系统
  • 原文地址:https://blog.csdn.net/m0_61663332/article/details/134400872