Betrachten Sie die folgende Komponente:
@Component({
selector: 'app-test'
template: 'Hello!'
}}
export class TestComponent {
@Output() readonly selectionChange = new EventEmitter<SomeTypeHere>();
}
Mit dem Anruf:
<app-test (selectedChange)="selectedChangeHandler($event)"></app-test>
Beachten Sie, dass ich selectedChange
anstelle des richtigen Ausgabenamens geschrieben habe selectionChange
. Winkel 9 mit strictTemplates
aktivierter Flagge hat mir überhaupt nicht geholfen. Es schlug lautlos fehl. Der interessante Teil ist, dass wenn ich das Gleiche für mache @Input
, die App die Fehler abfängt und nicht kompiliert.
Gibt es eine Möglichkeit, einen Fehler auszulösen, wenn ich versuche, einen nicht vorhandenen "anzuhören" @Output
?
@Output()
in einer freigegebenen Bibliothek oder sogar in der App und vergisst, die Anrufe zu entfernen ... und da wir keine Kompilierungsfehler haben, wie wir sie haben @Input()
, können wir nicht genau herausfinden, was bestimmte Probleme verursacht (oder sogar, um keinen Müll im Code zu behalten). Unit-Tests könnten hilfreich sein? Vielleicht, aber zur Zeit ist es aufgrund der Zeit noch nicht möglich.