# 图片懒加载插件

vue图片懒加载插件

# 为什么使用懒加载

可以想象一个网页打开有成百上千的图片需要加载,页面会变得非常的卡顿,此时如果只是可视区域的图片加载,其他的图片可以暂时有一个占位loading图,等滚动它们到可视区域时再去请求真实图片并且替换就好了。

vue-lazyload插件就是解决此类问题的。

# 安装

npm install vue-lazyload
1

引用

main.js

import vueLazy from 'vue-lazyload'
Vue.use(vueLazy, {
  preLoad: 1.3,//预加载的宽高
  error: '../assets/error.png', //img加载失败时现实的图片的路径
  loading: require('../static/imgs/ad3.png'),//img的加载中的显示的图片的路径
    //解释一下为什么是require('.....url'):因为vue自带webpack打包工具,如果是图片路径就会把他当成模块	解析,所以直接引入就好了。
	//记得把里面的路径换成自己的哦
  attempt: 1,//尝试加载的次数
  listenEvents:['mousewheel'], //你想让vue监听的事件
})

1
2
3
4
5
6
7
8
9
10
11

# 使用示例

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

<img v-lazy="imgsrc" >
1

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>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25