Я использую ng-repeat для повторения вопросов, предоставленных в ответе ajax, и мне нужна ng-модель каждого входного вопроса, чтобы указать на отдельный массив ответов.
Массив вопросов выглядит следующим образом
bookingQuestions: [
0: {
label: 'Any allergies?',
type: 'text',
id: 1234
},
1: {
label: 'Names of attendees',
type: 'text',
id: 1235
}
]
Я создаю массив ответов, просматривая все вопросы и помещая идентификатор и пустое свойство answerValue
в мой пустой массив bookingAnswers.Массив ответов выглядит следующим образом:
bookingAnswers: [
0: {
id: 1234,
answerValue: ''
},
1: {
id: 1235,
answerValue: ''
}
]
В разметке я пытаюсь инициировать answerObj
, получая правильный объект ответа, соответствующий соответствующему вопросу.
<div class="question" ng-repeat="question in bookingQuestions">
<label class="question-label" for="{{question.id}}">{{question.label}}
</label>
<input type="text" name="{{question.id}}" ng-model="answerObj"
ng-init="answerObj = getAnswerObj(question)">
</div>
Функция JS:
$scope.getAnswerObj = function(question) {
angular.forEach(bookingAnswers, function(answer) {
if(question.id === answer.id) {
return answer.answerValue;
}
});
}
Несмотря на то, что функция JS успешно возвращает правильное свойство объекта, ng-модель не обновляется для его использования.Как мне заставить это работать?