Vue.js开发技巧前端Vue专辑Vue.js学习

vue图片懒加载lazy-load

2018-10-08  本文已影响14人  前端来入坑
npm i vue-lazyload -D
import VueLazyload from 'vue-lazyload'
//最外层static目录下的图片引用
Vue.use(VueLazyload,{
    error:'/static/images/logo.png',//图片加载失败时候显示的图片
    loading:'/static/images/loading.gif'//图片还未加载完成时候的loading图片
})
//src下的assets目录下的图片
Vue.use(VueLazyload,{
    error:require('./assets/images/logo.png'),
    loading:require('./assets/images/loading.gif')
})

因为src中的文件会被webpack编译,assets文件夹中的图片地址,会在编译过程中重命名。vue-lazyload是在main.js文件中引入,不会被webpack进行编译,因此vue-lazyload无法获得正确的图片地址,所以直接写相对地址就无法获取到图片正确地址

img[lazy="loading"]{
  display:block;
  width:50px !important;
  height:50px !important;
  margin:0 auto;
  }
:src--->v-lazy
把<img :src="item.image" alt="img">
改成<img  v-lazy="item.image" alt="img">

效果加载中


image.png

加载完成


image.png
友情提示(谷歌模拟网速慢的时候看loading效果F12---Network---Slow 3G)
image.png

更多参数


image.png

详情请看lazy-load官网:https://www.npmjs.com/package/vue-lazyload

上一篇下一篇

猜你喜欢

热点阅读