Avatar ·

Passer une fonction callback à un composant enfant Angular via @Input comme dans AngularJS

Bonjour ! Je passe d'AngularJS à Angular (2+) et je n'arrive pas à comprendre comment passer correctement une fonction callback à un composant enfant. Dans AngularJS, je faisais comme ça : ```javascript // Parent // Child scope.$on('save', function(event, data) { // appel de la fonction parente scope.onSave({$event: data}); }); ``` Maintenant dans Angular, j'essaie de passer une fonction via @Input : ```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 } } ``` Mais j'obtiens une erreur indiquant que la fonction n'est pas définie. J'ai lu que dans Angular, il est préférable d'utiliser @Output et EventEmitter, mais j'ai besoin de l'utiliser.