Considera il seguente componente:
@Component({
selector: 'app-test'
template: 'Hello!'
}}
export class TestComponent {
@Output() readonly selectionChange = new EventEmitter<SomeTypeHere>();
}
Con la chiamata:
<app-test (selectedChange)="selectedChangeHandler($event)"></app-test>
Si noti che ho scritto selectedChange
invece del nome di output corretto selectionChange
. Angular 9 con la bandiera strictTemplates
abilitata non mi ha aiutato affatto. È fallito silenziosamente. La parte interessante è che se faccio la stessa cosa per @Input
, l'app cattura gli errori e non si compila.
C'è un modo per lanciare un errore se provo ad "ascoltare" un inesistente @Output
?
@Output()
in una lib condivisa, o persino sull'app e dimentica di rimuovere le chiamate ... e poiché non abbiamo errori di compilazione, come abbiamo fatto per @Input()
, non riusciamo a trovare esattamente ciò che causa determinati problemi (o anche per non tenere la spazzatura nel codice). I test unitari potrebbero essere utili? Forse, ma al momento non è ancora possibile a causa del tempo.