vue 图片懒加载 vue-lazyload

在项目中,如果出现大图一时半会加载不出来 的情况确实很丑。如果是那种没有给定宽高 靠图片撑起来的等图片加载出来 再把内容挤下去的用户体验效果非常差。

在vue中 使用vue-lazyload可以实现图片懒加载

安装

npm install vue-lazyload --save

引用

main.js

import vueLazy from 'vue-lazyload'
Vue.use(vueLazy)

index.vue

<template>
    <div>
        <img v-lazy="imgObj"/>
        <img v-lazy="imgUrl"/>
    </div>
</template>

<script>
export default {
  name: 'index',
  data () {
    return {
      imgObj: {
        src: require('https://images2015.cnblogs.com/blog/4849/201612/4849-20161223230947182-2121200217.png'),
        error: require('../assets/error.jpeg'),
        loading: require('../assets/loading.gif')
      },
      imgUrl: 'http://xx.com/logo.png'
    }
  }
}
</script>

<style scoped>
</style>

还有就是全局配置的

main.js

import VueLazyload from 'vue-lazyload'

Vue.use(VueLazyload)


Vue.use(VueLazyload, {
  preLoad: 1.3,//
  error: '../assets/error.png',
  loading: '../assets/loading.gif',
  attempt: 1
})

使用

只是将v-bind:src 修改为 v-lazy 绑定图片路径

<img v-lazy="imgsrc" >

以下是github中 lazyload 的一些属性函数,可以根据个人需要进行配置使用 

 

 

 

此随笔乃本人学习工作记录,如有疑问欢迎在下面评论,转载请标明出处。

如果对您有帮助请动动鼠标右下方给我来个赞,您的支持是我最大的动力。

posted @ 2018-10-01 23:02  huangenai  阅读(5335)  评论(1编辑  收藏  举报