속성에 부울 값이있는 객체에 라디오 버튼을 바인딩하는 데 문제가 있습니다. $ resource에서 검색 한 시험 문제를 표시하려고합니다.
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
}]
};
이 예제 객체에서 "isUserAnswer : true"특성으로 인해 라디오 단추가 선택되지 않습니다. 부울 값을 따옴표로 묶으면 작동합니다.
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"
}]
};
불행히도 내 REST 서비스는 해당 속성을 부울로 취급하므로 해당 값을 따옴표로 캡슐화하기 위해 JSON 직렬화를 변경하기가 어렵습니다. 모델의 구조를 변경하지 않고 모델 바인딩을 설정하는 다른 방법이 있습니까?