Приложение Angular 1 здесь.
У меня есть этот json-файл с именем data.json:
[
{
"rejectionType": "REJECTION_1",
"user": "ALL",
"selected": false
},
{
"rejectionType": "REJECTION_2",
"user": "MALE",
"selected": false
},
{
"rejectionType": "REJECTION_3",
"user": "FEMALE",
"selected": false
}
]
В контроллере я делаю следующее:
$http.get('data.json').then(function(response) {
var rejectionData = response.data;
myctrl.currentRejections = _.filter(rejectionData, function(item, index) {
return _.contains(["ALL", "MALE"], item.user);
})
console.log("myCtrl.currentRejections:",myCtrl.currentRejections);
$("#modRejectionReason").modal("show");
});
модал в представлении выглядит так:
<div id="modRejectionReason">
<div class="modal-body">
<p>
<div ng-repeat="allrejections in myctrl.currentRejections">
<p>
<input type="radio" name="selected" ng-model="allrejections.selected" />
{{allrejections.rejectionType}}
</p>
</div>
</p>
</div>
<div class="modal-footer">
<button type="button" ng-click="myctrl.func()">OK</button>
</div>
</div>
</div>
</div>
А потом в контроллере у меня так:
var declineInvite = function () {
console.log("myctrl.currentRejections:",myctrl.currentRejections);
}
В логе я вижу, что когда появляется модал, то переменная myCtrl.currentRejections
печатается.И это массив со всеми отфильтрованными элементами.Для каждого элемента я вижу, что поле selected
является ложным.
Когда я проверяю переключатель и затем нажимаю на OK-button
, запускается функция func
.Даже здесь те же данные печатаются в консоли.Однако для тех переключателей, которые были нажаты в json, значение для поля selected
не определено.Что мне здесь не хватает?