2016-06-29 39 views
18

Ho una semplice proprietà booleana valid nell'oggetto document e devo associarlo agli ingressi radio.Pulsante di scelta per proprietà booleane

Questo è quello che ho finora:

<input type="radio" name="valid" id="validTrue" (click)="document.valid = true" [checked]="document.valid"/> 
<input type="radio" name="valid" id="validFalse" (click)="document.valid = false" [checked]="!document.valid"/> 

Almeno impostando la proprietà su opere click, ma il suo stato non è visualizzato dalla Radio-ingressi. Guardando nella console di sviluppo del mio browser ho scoperto che una proprietà ng-reflect-checked è impostata ma non sembra avere un impatto sull'ingresso radio html.

Cosa sto sbagliando?
Qualcuno ha uno snippet "angular2-booleano-input-input"?

+0

che angolare 2 versione utilizzata – mayur

+0

forme RC.3 nuove o forme obsolete? –

+0

Mi spiace ... sono su rc3 usando i nuovi moduli. – Philipp

risposta

41

Nel nuovo modulo forme che questo potrebbe fare quello che vuoi

<input type="radio" name="food" [(ngModel)]="document.valid" [value]="true"> 
    <input type="radio" name="food" [(ngModel)]="document.valid" [value]="false"> 

vedi anche design doc for the new forms module

+3

Hai ragione. È così semplice Penso di aver già provato questo, ma dimentico di mettere l'attributo vale tra parentesi quadre. – Philipp

+1

Senza '[]' ottieni 'true' e' false' come stringa che indovino sia il valore 'true' in JS/TS (non sono sicuro, non lo uso molto) –

+0

Ricorda che se si passa a ReactiveForms, quindi è necessario rimuovere il valore [] attorno, poiché valueChanges è ciò che si sottoscrive in un modulo RF (quindi non è possibile associarlo). Facile dimenticare la differenza tra i due tipi di forme. – rmcsharry