Composants enfants

Créer un composant


Imbriquer des composants


Passer des propriétés

Intercepter des données


Événements personnalisés

  1. Dans le composant enfant:
    Déclarer une propriété qui est une instance de EventEmitter et avec le décorateur @Output. Appeler la méthode emit sur cet objet pour déclencher un événement.

    child.component:

     import { Component, Output, EventEmitter } from '@angular/core';
    
     @Component({
       selector: 'app-child',
       template: `<button (click)="handleClick()">Click</button>`,
     })
     export class ChildComponent {
       @Output() public clickEvent = new EventEmitter();
    
       handleClick() {
         this.clickEvent.emit('My message');
       }
     }
    
  2. Dans le composant parent:
    Écouter l’événement personnalisé.
    Les données envoyées avec l’événement peuvent être récupérées avec $event.

    app.component:

     @Component({
       selector: 'app-root',
       template: `<h1>Hello World</h1>
                  <app-child (clickEvent)="log($event)"></app-child>`
     })
     export class AppComponent {
       log(data) {
         alert(data);
       }
     }
    

Référence sur un composant