อัปเดต
ฉันสงสัย. ทำไมคุณไม่ต้องการใช้การ[disabled]
ผูกแอตทริบิวต์ที่ Angular 2 ให้มา? เป็นวิธีที่ถูกต้องในการรับมือกับสถานการณ์นี้ ฉันขอเสนอให้คุณย้ายisValid
เช็คของคุณด้วยวิธีส่วนประกอบ
<button [disabled]="! isValid" (click)="onConfirm()">Confirm</button>
ปัญหาเกี่ยวกับสิ่งที่คุณพยายามอธิบายไว้ด้านล่าง
โดยทั่วไปคุณสามารถใช้ngClass
ที่นี่ได้ แต่การเพิ่มคลาสจะไม่ จำกัด เหตุการณ์ไม่ให้เริ่มทำงาน สำหรับการเริ่มต้นเหตุการณ์ด้วยอินพุตที่ถูกต้องคุณควรเปลี่ยนclick
รหัสเหตุการณ์เป็นด้านล่าง ดังนั้นonConfirm
จะถูกยิงเมื่อฟิลด์ถูกต้องเท่านั้น
<button [ngClass]="{disabled : !isValid}" (click)="isValid && onConfirm()">Confirm</button>
สาธิตที่นี่