当前位置: 首页 > news >正文

实现图片懒加载

  1. 构建自定义指令
  2. 利用IntersectionObserver完成监测(此处我们直接用vueUse的useIntersectionObserver )
//directive/index.js
// 图片一开始不加载,等到将要看到的时候再加载
import { useIntersectionObserver } from "@vueuse/core"
const imgLazy = {mounted(el) {//1.缓存当前的图片路径const catchSrc = el.src//2.把img.src变为占位图el.src = "占位图地址"//3.监听将要看到的const { stop } = useIntersectionObserver(el, ([{ isIntersecting }]) => {if(isIntersecting) {//4.渲染图片el.src = catchSrc//5.停止监听stop()}	})}
}export default {// 在main.js中通过app.use使用install: (app) => {app.directive('imgLazy', imgLazy)}
}

组件中使用

<img v-imgLazy src="图片地址"/>

相关文章:

  • C++11 Type Aliases:从入门到精通
  • 关于UEFI:UEFI/BIOS 固件分析
  • Java 8 Map 新增方法详解
  • 51la批量创建站点繁琐?悟空统计一站式高效解决方案
  • HALCON第四讲->几何变换
  • C++中的RAII技术:资源获取即初始化
  • 【C++】ImGui:不足半兆的桌面程序
  • DWS层新增指标处理方案
  • Vue3+TypeScript实现访问者模式
  • Lesson 27 A wet night
  • MySQL 和 PostgreSQL,到底选择哪个?
  • 基于llamafactory微调千问大模型(实战)
  • error report
  • 备忘录模式:状态管理的时光机器
  • Elasticsearch 的自动补全以及RestAPI的使用
  • vue3 导出表格,合并单元格,设置单元格宽度,文字居中,修改文字颜色
  • 一篇文章理解js闭包和作用于原理
  • 模板字符串使用点击事件【VUE3】
  • shell使用for循环批量统计文件的行数
  • spring boot项目整合mybatis实现多数据源的配置
  • 有关网站开发的文献/开封网络推广哪家好
  • 网络公司网站图片/qq引流推广平台
  • 网站关键词seo怎么做/常见的微信营销方式有哪些
  • 专业做网站哪家好/数字营销成功案例
  • 自己做的网站涉黄/外贸网络推广营销
  • 牡丹江网站建设公司/整合营销名词解释