搬运自:https://blog.csdn.net/twodogya/article/details/80223331
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:
<img v-lazy="'/static/img/' + item.productImage" :key="'/static/img/' + item.productImage"> //将 :src 属性直接改为v-lazy, :key是为了防止刷新页面或图片更改时图片不更新
背景图:
<div style="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>