vue图片懒加载 —— vue-lazyload的使用

使用方式

1.npm install vue-lazyload --save-dev
2.main.js

import VueLazyLoad from 'vue-lazyload'
Vue.use(VueLazyLoad, {
  preLoad: 1,
  error: require('./assets/img/error.jpg'),
  loading: require('./assets/img/homePage_top.jpg'),
  attempt: 2,
})

3.页面中使用

<template>
    <div id="lazyload">
        <!-- img中使用图片懒加载。 v-lazy代替v-bind:src -->
        <ul class="img">
            <li v-for="(item,index) in imgList"> 
                <img v-lazy="item" alt="" style="width: 768px;"> 
            </li>
        </ul>
 
        <!-- 背景图中使用图片懒加载。 v-lazy:background-image = "" -->
        <ul class="bgImg">
            <li v-for="(item,index) in imgList" v-lazy:background-image="item"></li>
        </ul>
    </div>
</template>
<script>
export default {
    name:'LazyLoadDemo',
    data(){
        return{
            imgList:[
                require('../assets/img/1.jpg'),
                require('../assets/img/2.jpg'),
                require('../assets/img/3.jpg'),
                require('../assets/img/4.jpg'),
                require('../assets/img/5.jpg'),
                require('../assets/img/6.jpg'),
                require('../assets/img/7.jpg'),
                require('../assets/img/8.jpg'),
                require('../assets/img/9.jpg'),
                require('../assets/img/10.jpg'),
                require('../assets/img/11.jpg'),
                require('../assets/img/12.jpg'),
                require('../assets/img/13.jpg'),
                require('../assets/img/14.jpg'),
                require('../assets/img/15.jpg'),
                require('../assets/img/16.jpg'),
                require('../assets/img/17.jpg'),
                require('../assets/img/18.jpg'),
                require('../assets/img/19.jpg'),
                require('../assets/img/20.jpg'),
            ],
        }
    }
}
</script>
<style lang="scss" scoped>
    #lazyload{
        width: 768px;
        background-color: #fcc;
        margin: 0 auto;
        .img{
            width: 768px;
            background-color: #fcc;
        }
        .bgImg{
            li{
                width: 768px;
                height: 522px;  
                margin-bottom: 10px;
                background-repeat: no-repeat;       //注意图片大小哦,否则可以显示不全
                background-size: cover;
            }
        }
    }
</style>
 
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容