美文网首页vue
图片懒加载实现

图片懒加载实现

作者: 正在成长的切图仔 | 来源:发表于2021-04-25 10:58 被阅读0次

    一、为什么要懒加载

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

    二实现方式

    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>
    

    相关文章

      网友评论

        本文标题:图片懒加载实现

        本文链接:https://www.haomeiwen.com/subject/szcdrltx.html