Sto riscontrando un problema nel collegare i pulsanti di opzione a un oggetto le cui proprietà hanno valori booleani. Sto cercando di visualizzare le domande d'esame recuperate da una risorsa $.
HTML:
<label data-ng-repeat="choice in question.choices">
<input type="radio" name="response" data-ng-model="choice.isUserAnswer" value="true" />
{{choice.text}}
</label>
JS:
$scope.question = {
questionText: "This is a test question.",
choices: [{
id: 1,
text: "Choice 1",
isUserAnswer: false
}, {
id: 2,
text: "Choice 2",
isUserAnswer: true
}, {
id: 3,
text: "Choice 3",
isUserAnswer: false
}]
};
Con questo oggetto di esempio, la proprietà "isUserAnswer: true" non determina la selezione del pulsante di opzione. Se incapsulo i valori booleani tra virgolette, funziona.
JS:
$scope.question = {
questionText: "This is a test question.",
choices: [{
id: 1,
text: "Choice 1",
isUserAnswer: "false"
}, {
id: 2,
text: "Choice 2",
isUserAnswer: "true"
}, {
id: 3,
text: "Choice 3",
isUserAnswer: "false"
}]
};
Sfortunatamente il mio servizio REST tratta quella proprietà come booleana e sarà difficile cambiare la serializzazione JSON per incapsulare questi valori tra virgolette. Esiste un altro modo per impostare l'associazione del modello senza modificare la struttura del mio modello?
Ecco il jsFiddle che mostra oggetti non funzionanti e funzionanti