vue-lazyload

包地址:https://www.npmjs.com/package/vue-lazyload

安装: npm install vue-lazyload -D

用法:

import Vue from 'vue'
import App from './App.vue'
import VueLazyload from 'vue-lazyload'
 
Vue.use(VueLazyload)
 
// or with options
Vue.use(VueLazyload, {
  preLoad: 1.3,
  error: 'dist/error.png',
  loading: 'dist/loading.gif',
  attempt: 1
})
 
new Vue({
  el: 'body',
  components: {
    App
  }
})

<ul>
  <li v-for="img in list">
    <img v-lazy="img.src" >
  </li>
</ul>

更多详细配置参考文档上面的地址

注意:坑点出现了

因为图片是main.js里面的,webpack是不是处理的
所以需要处理一下
如果使用图片在assets文件夹,则要使用require引入

Vue.use(VueLazyload, {
  error: require('./assets/img/logo_grey.png'),
  loading: require('./assets/img/timg.gif'),
})

如果实在static的文件夹,直接写对应的文件

Vue.use(VueLazyload, {
  loading: '../static/123.gif',
})
原文地址:https://www.cnblogs.com/cyany/p/9154285.html