Svelte サイト内でページ遷移を行うためのナビゲーションコンポーネントの作成例です。
現在の URL(パス)の取得方法
SvelteKit の $app/stores
モジュールが提供する page
ストアを利用すると、現在表示中のページの URL や、その一部であるパス情報を取得することができます。
この情報を利用することで、ナビゲーションコンポーネント内のカレントページに相当する項目をハイライト表示します(この URL 情報は、パンくずリストなどでも利用できます)。
現在のページのパス情報は、次のように $page.url.pathname
参照できます。
<script>
import { page } from '$app/stores';
</script>
<b>pathname = {$page.url.pathname}</b>
ページ遷移すると、pathname
の値が、/
→ /about
→ /blog
のような感じで変化します。
Nav コンポーネントの実装例
次の Svelte コンポーネント (Nav
) は、サイト内でページ遷移を行うためのボタンを表示します。
現在のページに相当するボタンには、赤色の下線を表示しています。
あとは、SvelteKit のレイアウトコンポーネント (+layout.svelte
) に次のように記述しておけば、全ページにナビゲーションメニューを表示できます。
٩(๑❛ᴗ❛๑)۶ わーぃ
関連記事