Vue3实现图片懒加载

通过第三方插件VueUse实现图片懒加载。

1、需要安装依赖
npm i @vueuse/core
2、定义懒加载的插件

xxx/index.js

// useIntersectionObserver:响应式监听目标元素的可见性。
import { useIntersectionObserver } from '@vueuse/core'

// 定义懒加载插件
export const lazyPlugin = {
    install: (app) => {
        /*
			定义全局指令
			img-lazy:指令名称
		*/
        app.directive('img-lazy', {
            // 指令的定义
            mounted(el, binding) {
                /*
                    el:指令绑定的那个元素 img
                    binding:binding.value指令绑定的值
                */
                const { stop } = useIntersectionObserver(
                    el,
                    ([{ isIntersecting }]) => {
                    	// 如果是在当前视口下则赋值
                        if (isIntersecting) {
                            el.src = binding.value;
                            stop(); //图片加载完毕停止监听
                        }
                    },
                )
            }
        })
    },
}
3、在main.js文件内注册指令
// 引入懒加载指令插件并注册
import { lazyPlugin } from "@/directives/index"

app.use(lazyPlugin)

app.mount('#app')
4、使用

注册好指令就可以在标签上使用,使用指令时需要加v-。

<img v-img-lazy="picture" alt="" />

这样一个自定义全局指令实现图片懒加载就做好了。

相关推荐

  1. Vue3实现图片

    2024-04-06 19:50:01       49 阅读
  2. Vue图片实现

    2024-04-06 19:50:01       29 阅读
  3. Vue3图片封装自定义指令

    2024-04-06 19:50:01       42 阅读
  4. 关于如何实现图片

    2024-04-06 19:50:01       62 阅读
  5. IntersectionObserver实现图片

    2024-04-06 19:50:01       37 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-06 19:50:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-06 19:50:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-06 19:50:01       82 阅读
  4. Python语言-面向对象

    2024-04-06 19:50:01       91 阅读

热门阅读

  1. leetcode删除有序数组中的重复项

    2024-04-06 19:50:01       36 阅读
  2. 【趣味学算法】13_素数

    2024-04-06 19:50:01       71 阅读
  3. 爬虫 知识点2以及SSL1129错误该怎么解决

    2024-04-06 19:50:01       36 阅读
  4. python项目练习——15.网页爬虫应用程序

    2024-04-06 19:50:01       39 阅读
  5. 开源充电桩设备监控系统技术解决方案

    2024-04-06 19:50:01       34 阅读
  6. 代码随想录Day45

    2024-04-06 19:50:01       34 阅读
  7. VOC2012数据集格式转化为YOLO格式

    2024-04-06 19:50:01       32 阅读
  8. GPS经纬度坐标转换

    2024-04-06 19:50:01       31 阅读
  9. 代码随想录 day39 第九章 动态规划part02

    2024-04-06 19:50:01       30 阅读
  10. 【云原生篇】K8S配置管理之ConfigMap 和 Secret

    2024-04-06 19:50:01       37 阅读