Bases de Svelte
Introduction
Liaisons
Classes et styles
Svelte avancé
Réutiliser du contenu
Mouvements
Liaisons avancées
Transitions avancées
API de contexte
Éléments spéciaux
<script module>
Next steps
Bases de SvelteKit
Introduction
Routing
Chargement de données
En-têtes et cookies
Modules partagés
Formulaires
$app/state
Erreurs et redirections
SvelteKit avancé
Options de page
Options de lien
Routing avancé
Chargement avancé
Variables d’environnement
Conclusion
SvelteKit rend disponibles en lecture seule trois objets d’état via le module $app/state
— page
,
navigating
, et updated
. Celui que vous utiliserez le plus souvent est
page
, qui fournit des informations sur la page courante :
url
— l’URL de la page couranteparams
— les paramètres de la page couranteroute
— un objet avec une propriétéid
représentant la route courantestatus
— le code de statut HTTP de la page couranteerror
— l’objet d’erreur de la page courant, s’il y en a (vous pouvez en savoir plus sur la gestion des erreurs dans des exercices à venir)data
— les données de la page courante, combinant les valeurs de retour de toutes les fonctionsload
form
— les données renvoyées par une action de formulaire
Chacune de ces propriétés est réactive, utilisant $state.raw
sous le capot. Voici un exemple qui
utilise page.url.pathname
:
src/routes/+layout
<script>
import { page } from '$app/state';
let { children } = $props();
</script>
<nav>
<a href="/" aria-current={page.url.pathname === '/'}>
accueil
</a>
<a href="/about" aria-current={page.url.pathname === '/about'}>
à propos
</a>
</nav>
{@render children()}
<script lang="ts">
import { page } from '$app/state';
let { children } = $props();
</script>
<nav>
<a href="/" aria-current={page.url.pathname === '/'}>
accueil
</a>
<a href="/about" aria-current={page.url.pathname === '/about'}>
à propos
</a>
</nav>
{@render children()}
Avant SvelteKit 2.12, vous deviez utiliser
$app/stores
pour cela, qui fournit un store$page
contenant les mêmes informations. Si vous utilisez actuellement$app/stores
, nous vous conseillons de migrer vers$app/state
(ce qui requiert Svelte 5).
Modifier cette page sur Github
précédent suivant
1
2
3
<h1>accueil</h1>
<p>ceci est la page d'accueil.</p>