У меня есть несколько виджетов, которые генерируются из данных JSON и файла ng-repeat
. Внутри этого виджета есть раскрывающийся список выбора.
Я могу вызвать функцию в своем Controller
с помощью ng-change
, однако использование ng-model
для этого выбора меняет выбранное значение для всех раскрывающихся списков выбора во всех виджетах.
Как мне предотвратить это?
<div ng-repeat="item in widget.items" class="well col-md-6 col-lg-4">
<select ng-model="widget.chosenValue"
ng-change="widget.updateTag(item.item_id, widget.chosenValue)">
<option value="companies"
ng-selected="{{item.tag == 'companies'}}"
changed="companies">companies</option>
<option value="news"
ng-selected="{{item.tag == 'news'}}"
changed="news">news</option>
<option value="people"
ng-selected="{{item.tag == 'people'}}"
changed="people">people</option>
<option value="products"
ng-selected="{{item.tag == 'products'}}"
changed="products">products</option>
</select>
</div>
Модель на выбор: ng-model="widget.chosenValue"
^ Таким образом, выбор параметра в списке отправит правильное значение в мою функцию widget.updateTag
, однако это также изменит значение во всех других виджетах.
Есть ли способ изолировать область действия модели для каждого виджета?