Input
1. Property Binding
Pour transmettre des données à un "child component", nous allons communiquer avec ce dernier de la même façon que nous contrôlons les propriétés d'un élément natif, c'est à dire à l'aide du Property Binding :
On obtient alors un "set" implicite de la propriété book
de l'instance du composant BookPreviewComponent.
2. Déclaration de la propriété
Avec le code précédent, nous obtenons l'erreur suivante :
En effet, le composant book-preview n'a pas de propriété book
. Il faut donc la déclarer :
... mais heureusement, cela ne suffit pas et nous obtenons toujours la même erreur.
3. Décorateur @Input()
@Input()
Par défaut, aucune propriété de composant ne peut être modifiée par Property Binding. Il faut donc définir les propriétés pouvant servir d' "input" au composant en ajoutant simplement le décorateur @Input()
.
Voyez ce décorateur comme un contrôle vous permettant de définir la visibilité d'une propriété d'un composant.
N'oubliez pas les parenthèses !
En réalité, Input
est une "factory" qui retourne un décorateur. Si vous l'utilisez comme décorateur @Input book
, elle n'aura aucune action et ne fonctionnera donc pas.
Résultat
Dernière mise à jour