当前位置: 首页 > 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="图片地址"/>
http://www.xdnf.cn/news/1001431.html

相关文章:

  • 大话软工笔记—架构的概要设计
  • 【AS32系列MCU调试教程】基础配置:Eclipse项目与工具链的优化
  • SD-WAN优化云应用与多云架构访问的关键策略
  • 408考研逐题详解:2009年第39题
  • 深入探索IIC-OLED显示技术:嵌入式仿真平台如何重塑高校教学范式——深圳航天科技创新研究院技术赋能新一代工程教育
  • 观点 | 科技企业到了品牌建设的历史性窗口期
  • 界面开发框架DevExpress XAF实践:集成.NET Aspire后如何实现服务安排?
  • Kratos 与Golang Cms的关系
  • 深度学习环境搭建(pycharm+yolov5)
  • 【AWS入门】IAM多重身份验证(MFA)简介
  • 深度解析Git错误:`fatal: detected dubious ownership in repository` 的根源与解决方案
  • OpenAI API:LLM编程的事实标准(上)
  • R语言缓释制剂QBD解决方案之五
  • GitLab 拉取变慢的原因及排查方法
  • UE5 学习系列(九)光照系统介绍
  • linux中的locate命令
  • Vue3+TypeScript实现状态模式
  • cuda编程笔记(3)--常量内存与事件
  • 嘉立创EDA初识
  • 外资车全面反弹,被看衰的日系车尤其凶猛,国产电车再承压
  • 智慧园区可视化怎么做?
  • 快速排序优化技巧详解:提升性能的关键策略
  • Python爬虫实战:研究AutobahnPython相关技术
  • 股指期货为什么会出现贴水现象?
  • Redis : set集合
  • 使用 Visual Studio 2019 修改 WebRTC 源码
  • SpringCloud微服务:服务保护和分布式事务
  • Vosk API:开源离线语音识别的强大工具
  • 机器人坐标变换TF(ROS Transform)示例解释
  • VScode中如何创建项目分支