Considere el siguiente componente:
@Component({
selector: 'app-test'
template: 'Hello!'
}}
export class TestComponent {
@Output() readonly selectionChange = new EventEmitter<SomeTypeHere>();
}
Con la llamada:
<app-test (selectedChange)="selectedChangeHandler($event)"></app-test>
Tenga en cuenta que he escrito en selectedChange
lugar del nombre de salida correcto selectionChange
. Angular 9 con la bandera strictTemplates
habilitada no me ayudó en absoluto. Falló en silencio. La parte interesante es que si hago lo mismo @Input
, la aplicación detecta los errores y no se compila.
¿Hay alguna forma de arrojar un error si trato de "escuchar" un inexistente @Output
?
@Output()
en una biblioteca compartida, o incluso en la aplicación, y se olvida de eliminar las llamadas ... y como no tenemos errores de compilación, como lo hemos hecho @Input()
, no podemos encontrar exactamente qué causa ciertos problemas (o incluso por no guardar basura en el código). ¿Las pruebas unitarias pueden ser útiles? Tal vez, pero en ese momento aún no es posible debido al tiempo.