Comments (3)
I am unable to reproduce this, i've used it with server-rendered Nuxt 3 app and works just fine
If you manage to find a repro case, we would gladly reopen this issue.
from vue3-infinite-loading.
I am unable to reproduce this, i've used it with server-rendered Nuxt 3 app and works just fine If you manage to find a repro case, we would gladly reopen this issue.
Can you provide an example?
In my case, if you click the "disable JavaScript" setting in browser devtools, the data is not rendered to the client. How did you get this library to SSR in Nuxt3? I assume you need to move the code to the plugins
folder and set it up there?
from vue3-infinite-loading.
Nevermind, I believe I got it working with SSR. Here's my example using Firebase Firestore. The key takeaway is to load a certain number of posts during script setup and then as the client is ready, the infinitePostHandler function is run during viewport scroll.
<template>
<section>
<article class="result" v-for="post in posts" :key="post.id">
<h5>{{ post.title }}</h5>
<p>{{ post.content }}</p>
</article>
<InfiniteLoading @infinite="infinitePostHandler">
<template #spinner>
<AppSpinner />
</template>
<template #complete>
<span>There are no more posts</span>
</template>
<template #error="{ retry }">
<button class="btn btn-outline-dark" @click="retry">
Retry loading posts
</button>
</template>
</InfiniteLoading>
</section>
</template>
<script setup lang="ts">
import InfiniteLoading from 'v3-infinite-loading'
import 'v3-infinite-loading/lib/style.css'
interface Post {
id: string
title: string
content: string
}
let posts = ref<Post[]>([])
let page = ref(1)
const { data } = await useFetch(`/api/posts/lazy/${page}`)
posts.value.push(...data.value)
const infinitePostHandler = async ($state: {
complete: () => void
loaded: () => void
error: () => void
}) => {
console.log('loading more...')
try {
// Load more posts
page.value++
const { data } = await useFetch(`/api/posts/lazy/${page.value}`)
if (data.value && data.value.length < 10) {
$state.complete()
} else {
posts.value.push(...data.value)
$state.loaded()
}
} catch (error) {
$state.error()
}
}
</script>
from vue3-infinite-loading.
Related Issues (20)
- Broken github url in demo page
- How to trigger by ref's dom node $state.complete() HOT 5
- Data not consistently being loaded to the end during scroll (using demo code from docs in Nuxt3 app) HOT 2
- Expose function to reset the state HOT 2
- Error when component already has explicitly named default slot HOT 1
- the loader doesn't load nicely only half of the circle can be seen. HOT 1
- Compiler error when running demo project from dev branch
- Add spinning wheel slot option HOT 2
- Identifier doesn't trigger reload upon data change HOT 2
- [HELP] Does it support typescript import? HOT 2
- Issues with inverted/top infinite load. HOT 10
- Reset to the top when scrolling with infinite loading HOT 1
- export 'default' (imported as 'InfiniteLoading') was not found in 'v3-infinite-loading' (module has no exports) HOT 7
- Cannot read properties of null (reading 'getBoundingClientRect') HOT 3
- Identifier change triggers reload twice HOT 1
- Slot for name="complete" doesn't work HOT 4
- Potential for duplicate observers activation HOT 1
- Issues with top scroll HOT 1
- Manually trigger infinite HOT 4
- Documentation and Demo pages do not work
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vue3-infinite-loading.