10-1 Décorateur Input()
Pour recevoir de l'information, un composant peut utiliser le décorateur @Input()
. Il s'agit d'un décorateur de propriété ajoutant certaines fonctionnalités.
Ajouter une entrée @Input()
à ProjetsListe
Pour spécifier que le composant recevra en entrée des données, on utilise le décorateur @Input()
:
src/app/features/projets/components/projets-liste.ts
export class ProjetsListe {
@Input() projets: string[] | null = null;
}
info
Vous pouvez retirer la fonction d'ajout de projets et la liste précédente, nous ne l'utiliserons plus, elle était simplement utilisée pour introduire le concept d'événements.
La propriété est déclarée de la même façon qu'une propriété de classe normale (projets: string[]
), à l'exception qu'on ajoute @Input()
à l'avant.
- @Input(): décorateur pour indiquer que le composant recevra en entrée des données.
projets: string[] | null = null;
: le type de données sera un tableau de string (string[]
OUnull
) et est initialisé ànull
puisqu'au départ on ne connait pas la liste.
Par contre, maintenant il n'y a plus de projets d'affichés et vous avez une erreur! ☹️
danger
✘ [ERROR] NG1: Object is possibly 'null'. [plugin angular-compiler]
src/app/features/projets/components/projets-liste.ts:12:16:
12 │ @if(projets.length > 0){
╵