Pertimbangkan komponen berikut:
@Component({
selector: 'app-test'
template: 'Hello!'
}}
export class TestComponent {
@Output() readonly selectionChange = new EventEmitter<SomeTypeHere>();
}
Dengan telepon:
<app-test (selectedChange)="selectedChangeHandler($event)"></app-test>
Perhatikan bahwa saya telah menulis selectedChange
alih-alih nama output yang benar selectionChange
. Sudut 9 dengan bendera strictTemplates
diaktifkan tidak membantu saya sama sekali. Gagal dalam diam. Bagian yang menarik adalah bahwa jika saya melakukan hal yang sama untuk @Input
, aplikasi menangkap kesalahan dan tidak dapat dikompilasi.
Apakah ada cara untuk melempar kesalahan jika saya mencoba "mendengarkan" yang tidak ada @Output
?
@Output()
lib bersama, atau bahkan pada aplikasi dan lupa untuk menghapus panggilan ... dan karena kami tidak memiliki kesalahan kompilasi, seperti yang kami miliki @Input()
, kami tidak dapat menemukan apa yang menyebabkan masalah tertentu (atau bahkan untuk tidak menyimpan sampah dalam kode). Tes unit dapat bermanfaat? Mungkin, tetapi pada saat itu belum memungkinkan karena waktu.