Skip to main content
Bases de Svelte
Introduction
Réactivité
Props
Logique
Évènements
Liaisons
Classes et styles
Actions
Transitions
Svelte avancé
Réactivité avancée
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
Routes d’API
$app/state
Erreurs et redirections
SvelteKit avancé
Hooks
Options de page
Options de lien
Routing avancé
Chargement avancé
Variables d’environnement
Conclusion

Tout comme vous pouvez lier des propriétés d’éléments DOM, vous pouvez lier des props de composant. Par exemple, nous pouvons lier la prop value de ce composant <Keypad> comme s’il s’agissait d’un élément <form>.

D’abord, nous avons besoin de déclarer la prop comme étant bindable (c-à-d acceptant une liaison). Dans Keypad.svelte, mettez à jour la déclaration $props() pour utiliser la rune $bindable :

Keypad
let { value = $bindable(''), onsubmit } = $props();

Puis, dans App.svelte, ajoutez une directive bind: :

App
<Keypad bind:value={pin} {onsubmit} />

Désormais, lorsque l’utilisateur interagit avec le clavier affiché, la valeur de pin du composant parent est immédiatement mise à jour.

Utilisez les liaisons de composant avec parcimonie. Cela peut vite être difficile de suivre le flux de données au sein de votre application si vous en avez trop, particulièrement si vous n’avez pas de “source de vérité unique”.

Modifier cette page sur Github

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<script>
	import Keypad from './Keypad.svelte';
 
	let pin = $state('');
 
	let view = $derived(pin
		? pin.replace(/\d(?!$)/g, '•')
		: 'entrer votre code pin');
 
	function onsubmit() {
		alert(`vous avez entré ${pin}`);
	}
</script>
 
<h1 style="opacity: {pin ? 1 : 0.4}">
	{view}
</h1>
 
<Keypad {onsubmit} />