Cập nhật
Tôi tự hỏi. Tại sao bạn không muốn sử dụng [disabled]
ràng buộc thuộc tính do Angular 2 cung cấp? Đó là cách chính xác để giải quyết tình huống này. Tôi đề nghị bạn chuyển isValid
séc của mình qua phương pháp thành phần.
<button [disabled]="! isValid" (click)="onConfirm()">Confirm</button>
Sự cố với những gì bạn đã thử được giải thích bên dưới
Về cơ bản bạn có thể sử dụng ngClass
ở đây. Nhưng việc thêm lớp sẽ không hạn chế sự kiện kích hoạt. Để kích hoạt sự kiện trên đầu vào hợp lệ, bạn nên thay đổi click
mã sự kiện thành bên dưới. Vì vậy, điều đó onConfirm
sẽ chỉ được kích hoạt khi trường hợp lệ.
<button [ngClass]="{disabled : !isValid}" (click)="isValid && onConfirm()">Confirm</button>
Demo tại đây