当前位置: 代码迷 >> 综合 >> vue--图片懒加载,使用vue-lazyload
  详细解决方案

vue--图片懒加载,使用vue-lazyload

热度:45   发布时间:2023-10-27 12:48:00.0

 vue v-lazy官方API:https://www.npmjs.com/package/vue-lazyload

1.安装插件

npm install vue-lazyload --save-dev

2.在入口文件main.js中引入并使用

import VueLazyload from 'vue-lazyload'
Vue.use(VueLazyload, {     loading: require('img/loading.png'),//加载中图片,一定要有,不然会一直重复加载占位图      error: require('img/error.png')  //加载失败图片
});

3.修改图片显示方式为懒加载

<img v-lazy="'/static/img/' + item.productImage" :key="'/static/img/' + item.productImage"> //将 :src 属性直接改为v-lazy, :key是为了防止刷新页面或图片更改时图片不更新

背景图:

<div style="width:100px;height:100px;" v-lazy:background-image="{src: item.imgpath}"></div>

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>