vue图片懒加载

实现方法(使用vue的vue-lazyload插件)

1.安装插件

  npm install vue-lazyload --save-dev

2.在入口文件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.修改图片显示方式为懒加载(将 :src 属性直接改为v-lazy)

   

参数选项说明

image.png

至此,一个简单的图片懒加载就完成啦…

// 作者:gaochengxin,
//采纳请点赞谢谢

注释:

1、在使用vue懒加载加载图片的时候,发现在main.js引入图片时,发现图片路径找不到出错!!!
使用vue-cli脚手架快速生成的框架中,
src**同级目录**中有static文件夹
src**子文件夹**中有assets文件夹
在使用vue-lazyload,设置error或loading属性的图片路径时,

图片在assets文件夹,就需要使用require()进行引入。

Vue.use(lazyLoad, {
  error: require('./assets/img/default-photo.png'),
  loading: require('./assets/img/default-photo.png')
})
图片在static文件夹,就可以直接写路径了

Vue.use(lazyLoad, {
  error: require('../static/img/default-photo.png'),
  loading: require('../static/img/default-photo.png')

})
  vue-lazyload是在main.js文件中引入,不会被webpack进行编译,src中的文件会被webpack编译,包括    assets,assets文件夹中的图片地址,会在编译过程中改变。因此vue-lazyload无法正确获得图片地址,就不    能显示图片了。

你可能感兴趣的:(vue图片懒加载)