Considere o seguinte componente:
@Component({
selector: 'app-test'
template: 'Hello!'
}}
export class TestComponent {
@Output() readonly selectionChange = new EventEmitter<SomeTypeHere>();
}
Com a ligação:
<app-test (selectedChange)="selectedChangeHandler($event)"></app-test>
Observe que eu escrevi em selectedChange
vez do nome de saída correto selectionChange
. O Angular 9 com a bandeira strictTemplates
ativada não me ajudou em nada. Falha silenciosamente. A parte interessante é que, se eu fizer o mesmo @Input
, o aplicativo detectará o (s) erro (s) e não será compilado.
Existe alguma maneira de gerar um erro se eu tentar "ouvir" um inexistente @Output
?
@Output()
lib compartilhada ou até mesmo no aplicativo e esquece de remover as chamadas ... e como não temos erros de compilação, como temos @Input()
, não conseguimos encontrar exatamente o que causa certos problemas (ou mesmo por não guardar lixo no código). Testes de unidade podem ser úteis? Talvez, mas no momento ainda não é possível devido ao tempo.