Sé que en angular2 puedo deshabilitar un botón con el atributo [disable] , por ejemplo:
<button [disabled]="!isValid" (click)="onConfirm()">Confirm</button> pero ¿puedo hacerlo usando [ngClass] o [ngStyle] ? Al igual que:
<button [ngStyle]="{disabled : !isValid}" (click)="onConfirm()">Confirm</button>Gracias.
Me pregunto. ¿Por qué no desea utilizar el enlace de atributo [disabled] proporcionado por Angular 2? Es la forma correcta de lidiar con esta situación. Le propongo que mueva su cheque isValid a través del método de componente.
<button [disabled]="! isValid" (click)="onConfirm()">Confirm</button> Básicamente, podrías usar ngClass aquí. Pero agregar clase no restringiría la activación del evento. Para activar el evento en una entrada válida, debe cambiar el código de evento de click a continuación. De modo que onConfirm se activará solo cuando el campo sea válido.
<button [ngClass]="{disabled : !isValid}" (click)="isValid && onConfirm()">Confirm</button>Recomendaría lo siguiente.
<button [disabled]="isInvalid()">Submit</button>sí tu puedes
<div class="button" [ngClass]="{active: isOn, disabled: isDisabled}" (click)="toggle(!isOn)"> Click me! </div>https://angular.io/docs/ts/latest/api/common/NgClass-directive.html