在 load
函式內部呼叫 fetch(url)
會將 url
註冊為相依性。有時不適合使用 fetch
,在這種情況下,您可以使用 depends(url)
函式手動指定相依性。
由於任何以 [a-z]+:
模式開頭的字串都是有效的 URL,我們可以建立像是 data:now
的自訂失效鍵。
更新 src/routes/+layout.js
以直接傳回值,而不是進行 fetch
呼叫,並新增 depends
src/routes/+layout
export async function load({ depends }) {
depends('data:now');
return {
now: Date.now()
};
}
現在,更新 src/routes/[...timezone]/+page.svelte
中的 invalidate
呼叫
src/routes/[...timezone]/+page
<script>
import { onMount } from 'svelte';
import { invalidate } from '$app/navigation';
let { data } = $props();
onMount(() => {
const interval = setInterval(() => {
invalidate('data:now');
}, 1000);
return () => {
clearInterval(interval);
};
});
</script>
上一個 下一個
1