Vue-Lazyload
by kabanoki
HTML
<script src="https://unpkg.com/[email protected]/vue-lazyload.js"></script>
<ul id="app">
<li v-for="img in items">
<img v-lazy="img.path" >
</li>
</ul>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.6.10/vue.min.js"></script>
CSS
#app {
width: 100%;
float:left;
text-decoration: none;
padding : 0;
}
#app li {
width: 18%;
float:left;
padding: 5px;
list-style:none;
}
#app li img{
width: 100%;
}
Vue
var items = [];
for(var i=1;i<1500; i++)
{
items.push({
no: i,
path: 'https://dummyimage.com/600x600/fcc/000.png&text=Uploaded'+i
});
}
Vue.use(VueLazyload, {
preLoad: 1.3,
error: 'https://dummyimage.com/130x120/ccc/999.png&text=Not+Found',
loading: 'https://dummyimage.com/130x120/dcdcdc/999.png&text=Now loading',
attempt: 1
});
new Vue({
el: '#app',
data: {
items: items
}
});