Avatar ·

Übergabe einer Callback-Funktion an eine Angular-Kindkomponente über @Input wie in AngularJS

Hallo! Ich wechsle von AngularJS zu Angular (2+) und verstehe nicht, wie ich eine Callback-Funktion korrekt an eine Kindkomponente übergebe. In AngularJS habe ich es so gemacht: ```javascript // Parent // Child scope.$on('save', function(event, data) { // rufe die Elternfunktion auf scope.onSave({$event: data}); }); ``` Jetzt in Angular versuche ich, eine Funktion über @Input zu übergeben: ```typescript // Parent component @Component({ template: `` }) export class ParentComponent { saveHandler(data: any) { console.log('Saved:', data); } } // Child component @Component({...}) export class ChildComponent { @Input() onSave: (data: any) => void; someMethod() { this.onSave({name: 'test'}); // TypeError: this.onSave is not a function } } ``` Aber ich erhalte einen Fehler, dass die Funktion nicht definiert ist. Ich habe gelesen, dass man in Angular dafür besser @Output und EventEmitter verwendet, aber ich muss sie verwenden.