page.params 在 SvelteKit 中未定义
page.params is undefined in SvelteKit
我是 SvelteKit 的新手。我阅读了文档(我正在尽最大努力跟进并遵循使我的网站正常运行的内容)。
在我的 src > routes > posts > [postId].svelte
:
<script>
// http://localhost:3000/posts/[postId]
import PostDetails from '../../components/pages/PostDetails.svelte';
</script>
<PostDetails />
在我的 src > components > pages > PostDetail.svelte
:
<script>
import { page } from '$app/stores';
console.log({ page });
console.log('page.params', page.params);
</script>
<h1>Post Title</h1>
我想得到 page.params.postId
但它不起作用。所以我决定在控制台上记录 page
和 page.params
的值:
如 in the docs 所述,我希望从这个 page
对象中得到 { host, path, params, query }
。但是我除了 subscribe
函数什么都没有。我究竟做错了什么?请帮忙。
page
from $app/stores
是一个store,这意味着你需要subscribe
到它才能得到当前值。那是因为该值不是固定的,而是在每次页面更新时更新。要轻松订阅商店,请在其前面加上 $
符号:
<script>
import { page } from '$app/stores';
// manually (don't forget to unsubscribe in onDestroy to avoid memory leaks)
page.subscribe(currentPage => console.log(currentPage));
// easier
console.log({ page: $page });
console.log('page.params', $page.params);
</script>
<h1>Post Title</h1>
$app/stores
上的文档:https://kit.svelte.dev/docs#modules-$app-stores
$
自动订阅文档:https://svelte.dev/docs#4_Prefix_stores_with_$_to_access_their_values
我是 SvelteKit 的新手。我阅读了文档(我正在尽最大努力跟进并遵循使我的网站正常运行的内容)。
在我的 src > routes > posts > [postId].svelte
:
<script>
// http://localhost:3000/posts/[postId]
import PostDetails from '../../components/pages/PostDetails.svelte';
</script>
<PostDetails />
在我的 src > components > pages > PostDetail.svelte
:
<script>
import { page } from '$app/stores';
console.log({ page });
console.log('page.params', page.params);
</script>
<h1>Post Title</h1>
我想得到 page.params.postId
但它不起作用。所以我决定在控制台上记录 page
和 page.params
的值:
如 in the docs 所述,我希望从这个 page
对象中得到 { host, path, params, query }
。但是我除了 subscribe
函数什么都没有。我究竟做错了什么?请帮忙。
page
from $app/stores
是一个store,这意味着你需要subscribe
到它才能得到当前值。那是因为该值不是固定的,而是在每次页面更新时更新。要轻松订阅商店,请在其前面加上 $
符号:
<script>
import { page } from '$app/stores';
// manually (don't forget to unsubscribe in onDestroy to avoid memory leaks)
page.subscribe(currentPage => console.log(currentPage));
// easier
console.log({ page: $page });
console.log('page.params', $page.params);
</script>
<h1>Post Title</h1>
$app/stores
上的文档:https://kit.svelte.dev/docs#modules-$app-stores
$
自动订阅文档:https://svelte.dev/docs#4_Prefix_stores_with_$_to_access_their_values