首页 > 其他分享 >优化-图片懒加载

优化-图片懒加载

时间:2022-11-01 18:32:36浏览次数:42  
标签:el use binding import 加载 优化 图片

我们开发商城项目的时候,商品图片会有很多

如果在进入页面一下子就加载很多图片资源的话,会导致进入页面会很慢

我们今天说到的图片懒加载,是一个优化层面的 主要会有哪些优点呢?

比如:加载页面会快一些,包体积会小一些

网络层面的话就是减少了http请求

我们都知道,在浏览器打开的瞬间,同一时间最多并行6-8个请求

如果说图片请求比较多的话,就有可能和其它请求发生竞争关系,造成网络堵塞,会影响其它比较重要的网络请求

实现图片懒加载,主要使用vue3的自定义指令,进行按需加载


import defaltImg from '@/assets/images/200.png'
// 引入监听是否进入视口
import { useIntersectionObserver } from '@vueuse/core'

export default{
  install(app){
  // 自定义指令
    app.directive('imglazy',{
      mounted(el,binding){
        // el:  dom对象
        // binding:binding.value可以拿到图片的url地址
        const { stop } = useIntersectionObserver(
          //监听目标元素
          el,
          ([{ isIntersecting }], observerElement) => {
            if(isIntersecting){
              // 当图片加载失败的时候就用默认的图片代替
              el.onerror=()=>{
                el.src = defaltImg
              }
              el.src = binding.value
              stop()
            }
          },
          // 刚进入视口区域就立刻执行回调 0 - 1 
          { threshold: 0 }
        )
      }
    })
  }
}

最后我们需要在全局入口文件中将其注册为插件即可

import defineDirective from '@/directives'
createApp(App).use(store).use(router).use(componentPlugin).use(directivePlugin).mount('#app')

标签:el,use,binding,import,加载,优化,图片
From: https://blog.51cto.com/u_15473285/5814698

相关文章

  • 11Jmeter之优化jenkins上html报告格式
    问题:当在jenkins上查看HTML报告时,发现报告格式不美观!  解决一:临时解决方法1、进入Manage Jenkins->Scriptconsole,输入如下命令并进行执行。System.setPropert......
  • Semi-join使用条件,派生表优化 (3)—mysql基于规则优化(四十六)
    前面说了子查询里有no/any/all不能用limit,groupby,orderby等,他会被查询优化器优化掉,子查询可能会物化转成内连接semi-join查询,物化就是会吧子查询看做一个表,如果数据太大,超......
  • 子查询注意事项&semi-join(2)—mysql基于规则优化(四十五)
    前面说了mysql会吧一些冗余的sql语句查询优化重写,比如多于的括号,比如有的外连接其实跟内连接类似,可以优化查询表的顺序。子查询又分为相关和不相关子查询,如果子查询过滤条件......
  • PS新手教程-如何使用PS把浑浊的海水图片调整成唯美浅蓝色调
    如何使用PS把浑浊的海水图片调整成唯美浅蓝色调?给大家介绍如何使用PS把浑浊的海水图片调整成唯美浅蓝色调,一起来看看吧。1.打开PS,插入素材图片,按“Ctrl+J”拷贝背景图层,得到......
  • PS新手教程-如何使用PS把浑浊的海水图片调整成唯美浅蓝色调
    如何使用PS把浑浊的海水图片调整成唯美浅蓝色调?给大家介绍如何使用PS把浑浊的海水图片调整成唯美浅蓝色调,一起来看看吧。1.打开PS,插入素材图片,按“Ctrl+J”拷贝背景图层,得......
  • 为什么要做网站SEO优化?
    1.系统性的网络营销,是第一步,SEO推广是基础百度系是不是核心就是SEO和竞价呢?淘宝系是不是就是淘宝SEO和淘宝直通车(竞价)呢?在58,赶集,猪八家是不是也是花钱做排名呢?(竞价)对,互联网......
  • JAVA语言-加载类的过程
    加载类的过程newPerson();1.加载父类2.父类产生自己的静态空间(包括静态的属性、方法、程序块,会直接执行输出静态块中的代码)3.加载子类4.子类会产生自己的静态空间(包括静......
  • C# 如何在一张大图片中快速找到另外一张图片(两种方式)?
    自己写了一种,速度不是很快,但是能够实现varfindpic=newFindPic();varrec=findpic.FindPicture(@"C:\Users\zaranet\Desktop\xiao.......
  • Deer_GF之图片
          Hi,今天介绍一下Deer_Gf里的图片组件。      框架介绍请移步【Deer_GF之框架介绍】      接下来为大家介绍一下框架里用到的图片组件及加载流......
  • 最长不下降子序列(线段树优化dp)
    最长不下降子序列题目大意:给定一个长度为N的整数序列:A\(_{1}\),A\(_{2}\),⋅⋅⋅,A\(_{N}\)。现在你有一次机会,将其中连续的K个数修改成任意一个相同值。请你计......