พิจารณาองค์ประกอบต่อไปนี้:
@Component({
selector: 'app-test'
template: 'Hello!'
}}
export class TestComponent {
@Output() readonly selectionChange = new EventEmitter<SomeTypeHere>();
}
ด้วยการโทร:
<app-test (selectedChange)="selectedChangeHandler($event)"></app-test>
โปรดทราบว่าผมเคยเขียนแทนชื่อของการส่งออกที่ถูกต้องselectedChange
selectionChange
Angular 9 ที่strictTemplates
เปิดใช้งานการตั้งค่าสถานะไม่ได้ช่วยฉันเลย มันล้มเหลวอย่างเงียบ ๆ ส่วนที่น่าสนใจคือถ้าฉันทำสิ่งเดียวกัน@Input
แอปจะจับข้อผิดพลาดและไม่คอมไพล์
มีวิธีใดที่จะทำให้เกิดข้อผิดพลาดหากฉันพยายาม "ฟัง" ที่ไม่มีข้อมูล@Output
?
@Output()
ใน lib ที่ใช้ร่วมกันหรือแม้กระทั่งในแอปและลืมที่จะลบการโทร ... และเนื่องจากเราไม่มีข้อผิดพลาดในการรวบรวมเช่นที่เรามี@Input()
เราไม่สามารถหาสิ่งที่ทำให้เกิดปัญหาบางอย่าง (หรือแม้แต่ที่ไม่เก็บขยะในรหัส) การทดสอบหน่วยเป็นประโยชน์หรือไม่ อาจเป็นไปได้ แต่ในเวลานั้นยังไม่สามารถทำได้เนื่องจากเวลา