Im trying to make an infinite scroll list but it's really not lazy loading, been stuck with this for hours, the whole list will come in.
.....
<v-col
v-for="(post, i) in posts"
:key="i"
cols="12"
>
<v-lazy
v-model="isActive"
:options="{
threshold: .5
}"
transition="fade-transition"
>
{{Content here}}
</....
API used for test : https://jsonplaceholder.typicode.com/posts
I discovered that the columns need to have defined min-height (approx. to the expected height of the cards) in order for the v-lazy
intersection observer to work. Use something like a v-sheet
or v-responsive
to set the min-height
and contain the cards.
Also bind the v-model
of the v-lazy
to each post (ie: post.isActive), instead of a global isActive
var...
<v-col lg="3" md="4" sm="6" cols="12" v-for="(post, index) in posts">
<v-sheet min-height="250" class="fill-height" color="transparent">
<v-lazy
v-model="post.isActive" :options="{
threshold: .5
}"
class="fill-height">
<v-card class="fill-height" hover>
<v-card-text>
<v-row :key="index" @click="">
<v-col sm="10" cols="12" class="text-sm-left text-center">
#{{ (index+1) }}
<h2 v-html="post.title"></h2>
<div v-html="post.body"></div>
</v-col>
</v-row>
</v-card-text>
</v-card>
</v-lazy>
</v-sheet>
</v-col>
this worked so nicely!!! thank you soo much! complex stuff like this is really impossible to understand using the documentation itself. I had been struggling with this for 3 days now, Appreciate the help! :D