如何在Sveltekits加载功能中加载附加数据

问题描述 投票:0回答:1

在 sveltekit 中,+page.svelte 呈现使用 +page.ts 加载函数加载的数据。

但是如果页面上有一个“更多数据...”之类的按钮来加载其他数据怎么办?

如何告诉加载函数再次运行,但使用不同的参数? 我猜这可能适用于 url 参数,但如果您不想使用这些 url 参数怎么办?

到目前为止,我所做的是将数据完全加载到 +page.svelte 中,这非常简单,因为我只保持以下状态:

const top = 10
let skip = $state(0)
let data = $state([])

async function loadData(top, skip) {
   //...
   data = [data..., newdata]
}

当单击按钮时,它会增加跳过并触发 loadData。

但我猜这似乎不是 Sveltekit 的方式。 我不知道如何使用这样的加载函数来做到这一点。

我还可以在 +page.svelte 中加载附加数据,但这可能会与加载函数发生冲突。我必须将加载函数中的数据与实际 +page.svelte 中加载的数据合并,如果加载函数无效,则可能会不一致。

有什么最佳实践吗?

这样的场景应该很多,初始加载的数据不够,需要稍后再加载一些数据。

svelte sveltekit
1个回答
0
投票

我猜这可能适用于 url 参数,但如果您不想使用这些 url 参数怎么办?

如果你不想使用 URL 参数,那么你就没有实现一个合适的网站,根本不应该使用 SvelteKit,而应该使用一个为你的需求而设计的框架。 Web 的构建基础是 URL 标识屏幕上显示的资源,因此可以添加书签、将 URL 发送给朋友等等,那么您为什么不想要此功能呢?

当然,您可以使用一些解决方法来代替 URL 参数,但最佳实践是使用 URL 参数,因为要使用 Web。

© www.soinside.com 2019 - 2024. All rights reserved.