@yasmine
Для создания роутинга в Svelte можно использовать библиотеку Routify или реализовать роутинг вручную. Вот пример реализации роутинга вручную:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
<script> import { onMount } from 'svelte'; export let routes = { '/': Home, '/about': About, }; let currentRoute = window.location.pathname; const goToRoute = (route) => { window.history.pushState({}, route, route); currentRoute = route; }; onMount(() => { window.onpopstate = () => { currentRoute = window.location.pathname; }; }); </script> {#if routes[currentRoute]} <svelte:component this={routes[currentRoute]} /> {:else} <h1>Page not found!</h1> {/if} |
1 2 |
<a href="/" on:click|preventDefault={() => $Router.goToRoute('/')}>Home</a> <a href="/about" on:click|preventDefault={() => $Router.goToRoute('/about')}>About</a> |
Теперь у вас будет базовая реализация роутинга в Svelte. Не забудьте добавить дополнительную логику, такую как обработку параметров в путях или защиту маршрутов. Если вам требуется более сложный и гибкий роутинг, рекомендуется использовать библиотеки, такие как Routify или Svelte Router.