Ich habe ein Problem beim Binden von Optionsfeldern an ein Objekt, dessen Eigenschaften boolesche Werte haben. Ich versuche, Prüfungsfragen anzuzeigen, die aus einer $ -Ressource abgerufen wurden.
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
}]
};
Bei diesem Beispielobjekt bewirkt die Eigenschaft "isUserAnswer: true" nicht, dass das Optionsfeld ausgewählt wird. Wenn ich die booleschen Werte in Anführungszeichen kapsle, funktioniert es.
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"
}]
};
Leider behandelt mein REST-Service diese Eigenschaft als Booleschen Wert, und es wird schwierig sein, die JSON-Serialisierung zu ändern, um diese Werte in Anführungszeichen zu setzen. Gibt es eine andere Möglichkeit, die Modellbindung einzurichten, ohne die Struktur meines Modells zu ändern?
Hier ist die jsFiddle, die nicht funktionierende und funktionierende Objekte zeigt