Estou tendo um problema ao vincular botões de opção a um objeto cujas propriedades possuem valores booleanos. Estou tentando exibir perguntas do exame recuperadas de um recurso $.
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
}]
};
Com este objeto de exemplo, a propriedade "isUserAnswer: true" não faz com que o botão de opção seja selecionado. Se eu encapsular os valores booleanos entre aspas, ele funcionará.
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"
}]
};
Infelizmente, meu serviço REST trata essa propriedade como um valor booleano e será difícil alterar a serialização JSON para encapsular esses valores entre aspas. Existe outra maneira de configurar a ligação do modelo sem alterar a estrutura do meu modelo?
Aqui está o jsFiddle mostrando objetos que não estão funcionando e estão funcionando