$app/state
SvelteKit rend disponibles trois objets d’état en lecture seule via le module $app/state, —
page, navigating et updated.
Ce module a été ajouté avec la version 2.12. Si vous utilisez une version plus ancienne de SvelteKit, utilisez plutôt
$app/stores.
import { navigating, page, updated } from '$app/state';navigating
Un objet en lecture seule représentant une navigation en cours, avec des propriétés from, to,
type et (si type === 'popstate') delta.
Les valeurs de ces propriétés sont null lorsqu’aucune navigation n’est en cours, ou lors du rendu
côté serveur.
const navigating:
| import('@sveltejs/kit').Navigation
| {
from: null;
to: null;
type: null;
willUnload: null;
delta: null;
complete: null;
};page
Un objet réactif en lecture seule avec des informations concernant la page courante, servant plusieurs cas d’usage :
- récupérer les
datacombinées de toutes les pages/layouts de votre arbre de composants (voir également la section charger des données) - récupérer la valeur courant de la propriété
formn’importe où dans votre arbre de composant (voir également la section actions de formulaire) - récupérer l’état de la page défini via
goto,pushStateoureplaceState(voir également les sections goto, et shallow routing) - récupérer les métadonnées comme l’URL courante, la route courante et ses paramètres, et si oui ou non une erreur s’est produite
<script>
import { page } from '$app/state';
</script>
<p>Actuellement sur la page {page.url.pathname}</p>
{#if page.error}
<span class="red">Problème détecté</span>
{:else}
<span class="small">Tous les systèmes sont opérationnels</span>
{/if}<script lang="ts">
import { page } from '$app/state';
</script>
<p>Actuellement sur la page {page.url.pathname}</p>
{#if page.error}
<span class="red">Problème détecté</span>
{:else}
<span class="small">Tous les systèmes sont opérationnels</span>
{/if}Les changements sur l’objet page sont uniquement accessibles avec les runes. (La syntaxe ancienne
de réactivité ne va refléter aucun changement)
<script>
import { page } from '$app/state';
const id = $derived(page.params.id); // Ceci va correctement fourni l'id à jour sur cette page
$: badId = page.params.id; // Ne pas utiliser ; ne va jamais être mis à jour après le chargement initial
</script><script lang="ts">
import { page } from '$app/state';
const id = $derived(page.params.id); // Ceci va correctement fourni l'id à jour sur cette page
$: badId = page.params.id; // Ne pas utiliser ; ne va jamais être mis à jour après le chargement initial
</script>Sur le serveur, les valeurs peuvent uniquement être lues lors du rendu (autrement dit, pas dans
les fonctions load, par exemple). Dans le navigateur, les valeurs peuvent être lues à n’importe
quel moment.
const page: import('@sveltejs/kit').Page;updated
Une valeur réactive en lecture seule qui vaut initialement false. Si
version.pollInterval est une valeur différente de zéro,
SvelteKit va régulièrement vérifier (en faisant du polling) s’il existe de nouvelles versions de
l’application et mettre à jour current à true lors qu’une nouvelle version existe.
updated.check() permet de forcer une vérification immédiate, indépendamment du polling.
const updated: {
get current(): boolean;
check(): Promise<boolean>;
};Modifier cette page sur Github llms.txt