https://www.npmjs.com/package/vue-lazyload
首先我們先在npm上下載vue-lazyload的包
npm install vue-lazyload --save
然后我們在main.js里面import這個包,當然,單單這一個包是不夠的,還得其他的文件
import Vue from 'vue' import App from '@/App' import VueLazyload from 'vue-lazyload'
然后我們配置vue-lazyload;
我是這樣寫的
Vue.use(VueLazyload, {
error: 'dist/error.png',//這個是請求失敗后顯示的圖片
loading: 'dist/loading.gif',//這個是加載的loading過渡效果
try: 2 // 這個是加載圖片數量
})
官方給出的具體配置api可以看下圖

然后在組件里寫法是
<template>
<div id="rj">
<ul id="container">
<li v-for="img in list">
<img v-lazy="img">
</li>
</ul>
</div>
</template>
<script>
export default {
data () {
return {
list: [
'http://st2.depositphotos.com/thumbs/2627021/image/9638/96385166/api_thumb_450.jpg!thumb',
'http://st2.depositphotos.com/thumbs/2627021/image/9638/96385166/api_thumb_450.jpg!thumb',
'http://st2.depositphotos.com/thumbs/2627021/image/9638/96385166/api_thumb_450.jpg!thumb',
'http://st2.depositphotos.com/thumbs/2627021/image/9638/96385166/api_thumb_450.jpg!thumb',
'http://st2.depositphotos.com/thumbs/2627021/image/9638/96385166/api_thumb_450.jpg!thumb',
'http://st2.depositphotos.com/thumbs/2627021/image/9638/96385166/api_thumb_450.jpg!thumb',
'http://st2.depositphotos.com/thumbs/2627021/image/9638/96385166/api_thumb_450.jpg!thumb',
]
}
}
}
</script>
這樣就可以在頁面里實現圖片懶加載效果了,當然,官方給出的寫法可能和我這個有點出入,但是木有關系啦。
還可以用css的寫法,但是沒試過,所以就不在這里講了,要是說錯了,丟人啊!
<style>
img[lazy=loading] {
/*your style here*/
}
img[lazy=error] {
/*your style here*/
}
img[lazy=loaded] {
/*your style here*/
}
/*
or background-image
*/
.yourclass[lazy=loading] {
/*your style here*/
}
.yourclass[lazy=error] {
/*your style here*/
}
.yourclass[lazy=loaded] {
/*your style here*/
}
</style>
這個是官方的寫法,有興趣的可以試試。
