Memperbarui
Aku bertanya-tanya. Mengapa Anda tidak ingin menggunakan [disabled]pengikatan atribut yang disediakan oleh Angular 2? Ini cara yang benar untuk menghadapi situasi ini. Saya usulkan Anda memindahkan isValidcek melalui metode komponen.
<button [disabled]="! isValid" (click)="onConfirm()">Confirm</button>
Masalah dengan apa yang Anda coba dijelaskan di bawah ini
Pada dasarnya Anda bisa menggunakan di ngClasssini. Tetapi menambahkan kelas tidak akan membatasi pengaktifan acara. Untuk mengaktifkan acara pada input yang valid, Anda harus mengubah clickkode acara di bawah ini. Sehingga onConfirmakan dipecat hanya jika field valid.
<button [ngClass]="{disabled : !isValid}" (click)="isValid && onConfirm()">Confirm</button>
Demo Disini