Qu'est-ce exactement $objet d'événement ne Angulaire 2?

Je suis un peu confus quoi exactement $de l'événement ici et quelle est la différence entre ces deux exemples

<button (click)="clicked($event)"></button>

@Component(...)
class MyComponent {
  clicked(event) {
    event.preventDefault();
  }
}

et

<button (click)="clicked()">Click</button>



 @Component(...)
    class MyComponent {
      clicked(event) {
      }
    }
Sous le capot Angulaire utilise un param appelé $event et littéralement des copies de votre rappel code clicked($event), de sorte que le $événement est codé en dur à cette valeur. Il ressemble à ceci self.parentView.context.clicked($event). Si vous utilisez un nom personnalisé au lieu de $event, dire event123, Angulaire va vérifier componentInstance.event123 de la propriété et de la valeur - qui sera probablement nulle/non défini. C'est le même comportement à l'aide en ligne HTML gestionnaires <input type="button" onclick="clickHandler(event)" > où seul le texte exact event peut être utilisé
Nous ne faisons généralement pas passer event argument comme une partie de la valeur de l'attribut, mais le gestionnaire n'ont que l'argument function clickHandler(event){..}(si nécessaire). Je pense que l'OP devrait savoir, la façon dont les événements de travail dans les DOM, comme indiqué ici
Vous devez passer l '"événement" de l'argument de l'élément de l'attribut onclick="clickHandler(event)", ou l'événement ne sera pas transmis au gestionnaire dans le fichier JS. plnkr.co/modifier/9oOCztMuaq7rkowdHsGT?p=preview Qui lie très étroitement avec la façon Angulaire est de se comporter dans ce cas

OriginalL'auteur Sarvesh Yadav | 2016-06-21