Events und Data Flow
One-Way Data Flow
In Vue «fliessen» Daten zwischen Eltern- und Kindkomponenten immer nur in eine Richtung: abwärts («Parent to child»).
Damit ist gemeint, dass Werte nur via Properties von einer Elternkomponente an ihre Kinder übergeben werden können.
Die Kindkomponenten können diese Werte nicht direkt verändern (readonly). Wenn ein Kind die Werte ändern möchte, muss dies über ein Event an die Elternkomponente signalisiert werden.
Die Elternkomponente achtet auf Events, ändert die gewünschten Werte und gibt die aktualisierten Werte via Props wieder an die Kinder weiter.

setFontSize Event,
dass fontSize auf 14 gesetzt werden soll.Events definieren und auslösen
Eine Komponente kann beliebige Events definieren. Dazu kann die defineEmits Funktion verwendet werden.
Über die $emit Funktion in Templates kann der Event an Elternkomponenten signalisiert werden.
defineEmits
defineEmitsdefineEmits muss nicht zwingend verwendet werden. Vue kann durch defineEmits aber einige Optimierungen bei der Event-Verarbeitung vornehmen.
Es lohnt sich also, wenn du dir angewöhnst, defineEmits immer zu verwenden.
Events abfangen
Eine Elternkomponente kann über die @-Syntax einen Event abfangen und Code direkt «inline» ausführen:
Funktionen aufrufen
Es ist möglich, eine Funktion als Event-Listener aufzurufen:
Parameter übergeben
Ein Event kann optional auch ein Parameter beinhalten. Dieser Parameter kann als zweites Argument in der $emit Funktion übergeben werden.
Eine spezielle $event Variable beinhaltet den übergebenen Wert im Event-Listener:
Wenn als Event-Listener eine Funktion angegeben wird, wird $event automatisch als erstes Argument an diese Funktion übergeben.
Events in <script setup> auslösen
<script setup> auslösenDer defineEmits Aufruf gibt eine Funktion zurück, die verwendet werden kann um einen Event direkt im <script setup> Bereich einer Komponente auszulösen.