Aşağıdaki bileşeni düşünün:
@Component({
selector: 'app-test'
template: 'Hello!'
}}
export class TestComponent {
@Output() readonly selectionChange = new EventEmitter<SomeTypeHere>();
}
Çağrı ile:
<app-test (selectedChange)="selectedChangeHandler($event)"></app-test>
selectedChange
Doğru çıktı adı yerine yazdığımı unutmayın selectionChange
. Bayrağı strictTemplates
etkinleştirilmiş olan Açısal 9 bana hiç yardımcı olmadı. Sessizce başarısız oldu. İlginç olan şey, eğer aynı şeyi yaparsam @Input
, uygulama hataları yakalar ve derlemez.
Varolmayanı "dinlemeye" çalışırsam hata atmanın bir yolu var mı @Output
?
@Output()
paylaşılan bir lib'deki veya hatta uygulamadaki bir kişiyi değiştirir / kaldırır ve aramaları kaldırmayı unutur ... ve derleme hatalarımız @Input()
olmadığından, bizim gibi , bazı sorunlara neyin neden olduğunu tam olarak bulamıyoruz (veya çöp kodunu kodda tutmamak için bile). Birim testleri yardımcı olabilir mi? Belki, ama o zamana kadar henüz mümkün değil.