待办事项 链接到商店练习
正如我们之前了解到的,Svelte 商店是放置不属于单个组件的数据的地方。
SvelteKit 通过 $app/stores
模块提供了三个只读商店——page
、navigating
和 updated
。你最常使用的是 page
,它提供有关当前页面的信息
url
— 当前页面的 URLparams
— 当前页面的 参数route
— 一个具有表示当前路由的id
属性的对象status
— 当前页面的 HTTP 状态代码error
— 当前页面的错误对象(如果有)(你将在 稍后 练习 中了解有关错误处理的更多信息)data
— 当前页面的数据,组合所有load
函数的返回值form
— 从 表单操作 返回的数据
与任何其他商店一样,你可以通过在商店名称前添加 $
符号来引用组件中的其值。例如,我们可以访问当前路径名作为 $page.url.pathname
src/routes/+layout
<script>
import { page } from '$app/stores';
let { children } = $props();
</script>
<nav>
<a href="/" aria-current={$page.url.pathname === '/'}>
home
</a>
<a href="/about" aria-current={$page.url.pathname === '/about'}>
about
</a>
</nav>
{@render children()}
1
2
3
<h1>home</h1>
<p>this is the home page.</p>