Güncelleme
Merak ediyorum. [disabled]Angular 2 tarafından sağlanan öznitelik bağlamayı neden kullanmak istemiyorsunuz ? Bu durumla başa çıkmanın doğru yolu budur. isValidÇekinizi bileşen yöntemi ile taşımanızı öneririm .
<button [disabled]="! isValid" (click)="onConfirm()">Confirm</button>
Denediklerinizle ilgili sorun aşağıda açıklanmıştır
Temelde ngClassburada kullanabilirsiniz . Ancak sınıf eklemek, olayın ateşlenmesini kısıtlamaz. Geçerli girişte olayı başlatmak için, clickolay kodunu aşağıdaki şekilde değiştirmelisiniz . Yani bu onConfirmsadece alan geçerli olduğunda ateşlenecek.
<button [ngClass]="{disabled : !isValid}" (click)="isValid && onConfirm()">Confirm</button>
Demo Burada