Jeg vet at jeg i angular2 kan deaktivere en knapp med attributtet [disable]
.
med attributtet [disable]`, for eksempel:
<button [disabled]="!isValid" (click)="onConfirm()">Confirm</button>
men kan jeg gjøre det med [ngClass]
eller [ngStyle]
? På denne måten:
<button [ngStyle]="{disabled : !isValid}" (click)="onConfirm()">Confirm</button>
Takk.
Jeg lurer på noe. Hvorfor vil du ikke bruke attributtbindingen [disabled]
som Angular 2 tilbyr? Det er den riktige måten å håndtere denne situasjonen på. Jeg foreslår at du flytter isValid
-sjekken din via komponentmetoden.
<button [disabled]="! isValid" (click)="onConfirm()">Confirm</button>
I utgangspunktet kan du bruke ngClass
her. Men å legge til en klasse vil ikke hindre at hendelsen utløses. For å avfyre hendelsen ved gyldig inndata, bør du endre click
hendelseskode til nedenfor. Slik at onConfirm
bare utløses når feltet er gyldig.
<button [ngClass]="{disabled : !isValid}" (click)="isValid && onConfirm()">Confirm</button>
Ja, det kan du
<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