Quand vous travaillez avec des composants, il peut être nécessaire de notifier d'autres composants que quelque chose s'est produit. Par exemple, un bouton a été cliqué, un élément a été ajouté à une liste ou retiré, ou une autre mise à jour importante a eu lieu. Dans ce cas, les composants doivent communiquer avec leurs composants parents.
Angular utilise la fonction output() pour permettre ce type de comportement.
Note : Pour en savoir plus, consultez les événements personnalisés dans le guide des outputs.
Dans cette activité, vous allez apprendre à utiliser la fonction output() pour communiquer avec les composants.
Pour créer le chemin de communication d'un composant enfant vers un composant parent, utilisez la fonction output pour initialiser une propriété de classe.
Le composant peut maintenant générer des événements que le composant parent peut écouter. Déclenchez des événements en appelant la méthode emit :
child.ts
class Child {
...
onClick() {
this.count++;
this.incrementCountEvent.emit(this.count);
}
}
La fonction emit génère un événement du même type que celui défini par l'output.
À vous d'essayer. Complétez le code en suivant ces tâches :
-
Ajouter une propriété
output()Mettez à jour
child.tsen ajoutant une propriété output nomméeaddItemEvent; pensez à définir le type de l'output àstring. -
Compléter la méthode
addItemDans
child.ts, mettez à jour la méthodeaddItem; utilisez le code suivant comme logique :child.ts
addItem() { this.addItemEvent.emit('🐢'); } -
Mettre à jour le template de
AppDans
app.ts, mettez à jour le template pour écouter l'événement émis en ajoutant le code suivant :<app-child (addItemEvent)="addItem($event)" />Désormais, le bouton « Add Item » ajoute un nouvel élément à la liste à chaque clic.
Bravo, vous avez maintenant terminé les fondamentaux des composants : impressionnant 👏
Continuez votre apprentissage pour découvrir d'autres fonctionnalités formidables d'Angular.