TODO 連結到儲存練習
正如我們之前學到的,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>