2015-05-07 5 views
0

Может ли объект быть присвоенным значением ngModel, если выбрано <input type="checkbox">?Передача объекта на ngTrueValue завершается с ошибкой

Следующая терпит неудачу при попытке установить объект group в ng-true-value:

<div ng-repeat="group in groups"> 
    <input type='checkbox' ng-model="array[$index]" ng-true-value="group"> 
</div> 

Или есть другой способ для достижения этой цели?

+0

Зачем вам нужен реальный объект, а не только значение из этой группы? Разве '' {{group}} 'недостаточно? – Vaelyr

+1

нет слова .. какой группа? .... и что делать? Это не правильный способ задать вопрос. Четко объясните свою проблему словами и объясните проблемы, которые вы разрешите. Мы не обращаем внимания на читателей. – charlietfl

+0

Ответили ниже, на ваш вопрос? –

ответ

0

Это, рода, возможно с ng-true-value, но вы должны понимать, что ng-true-value ожидает постоянная. Другими словами, если вы сделали это:

<div ng-repeat="group in groups"> 
    <input type="checkbox" ng-model="array[$index]" ng-true-value="{{group}}"> 
</div> 

и выбран первый элемент, то будет действительно следующее: array[0] !== groups[0]. Другими словами, вы получите копию объекта.

Вместо этого вы можете сделать следующее, чтобы назначить реальный объект:

<div ng-repeat="group in groups"> 
    <input type="checkbox" 
     ng-model="selected" 
     ng-change="arr[$index] = (selected && group) || undefined"> 
</div> 
Смежные вопросы