图片懒加载实现

一、为什么要懒加载

有时候一个网站里面会有几百张甚至几千张上万张图片,这个时候如果所有图片一起加载的话就会导致服务器压力太大了,不仅会影响页面的渲染速度也会浪费宽带。
为了解决这个问题,提高用户体验,就出现了懒加载方式来减轻服务器的压力,优先加载可视区域的内容,其他部分等进入了可视区域再加载,从而提高性能。

二实现方式

  1. 安装插件
npm install vue-lazyload --save-dev
  1. 在main.js 引入
import VueLazyload from 'vue-lazyload'
Vue.use(VueLazyload)
//自定义写法
Vue use(VueLazyload, {
  preLoad: 1.3,
  error: 'dist/error.png',//加载中图片,一定要有,不然会一直重复加载占位图
  loading: 'dist/loading.gif',//加载失败图片
  attempt: 1
})

3.页面中使用

  1. img
<img v-lazy="'/static/img/' + item.productImage" :key="'/static/img/' + item.productImage"> 
  1. 背景图
<div style="width:100px;height:100px;" v-lazy:background-image="{src: item.imgpath}"></div>
  1. v-html,如从后台获取的富文本字符串中图片:(用replace将src替换为data-src)
<div v-lazy-container="{ selector: 'img', error: 'xxx.jpg', loading: 'xxx.jpg' }">
  <img data-src="//domain.com/img1.jpg">
  <img data-src="//domain.com/img2.jpg">
  <img data-src="//domain.com/img3.jpg">  
</div>
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 浏览器是否发起请求图片是根据 的src属性,所以实现懒加载的关键就是,在图片没有进入可视区域时,先不给 的src赋...
    五四青年_4e7d阅读 649评论 0 0
  • 先将img标签的src链接设为同一张图片(比如空白图片),然后给img标签设置自定义属性(比如 data-src)...
    樊小勇阅读 648评论 3 5
  • 提到前端性能优化中图片资源的优化,懒加载和预加载就不能不说,下面我用最简洁明了的语言说明懒加载和预加载的核心要点以...
    一只大橘阅读 3,959评论 0 9
  • 前端中实现图片懒加载,一次性加载所有资源容易造成网页性能变差,用户体验比较差,所以我们一般需要前端请求出来的数据进...
    Amanda妍阅读 909评论 3 5
  • 一、懒加载 懒加载也叫延迟加载,Js中图片的延迟加载,延迟图片需要符合某些条件时才加载;对于图片过多的页面,为了加...
    一只章鱼哥阅读 731评论 0 1