J'ai un problème pour lier les boutons radio à un objet dont les propriétés ont des valeurs booléennes. J'essaie d'afficher les questions d'examen récupérées à partir d'une ressource $.
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
}]
};
Avec cet exemple d'objet, la propriété "isUserAnswer: true" n'entraîne pas la sélection du bouton radio. Si j'encapsule les valeurs booléennes entre guillemets, cela fonctionne.
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"
}]
};
Malheureusement, mon service REST traite cette propriété comme un booléen et il sera difficile de modifier la sérialisation JSON pour encapsuler ces valeurs entre guillemets. Existe-t-il une autre façon de configurer la liaison de modèle sans modifier la structure de mon modèle?
Voici le jsFiddle montrant les objets qui ne fonctionnent pas et qui fonctionnent