2015-08-22 10 views
0

У меня есть набор элементов списка, каждый из которых можно щелкнуть. После нажатия, я хочу, чтобы базовая модель обновлялась до текущего элемента списка элементов списка. Например, если я нажимаю на третий элемент, я хочу, чтобы для параметра my_ scope.current моего контроллера было установлено значение 2. Поскольку элементы списка не являются стандартными вводами формы, я не могу использовать ng-model, поэтому мне было интересно, что решение ....Как установить элемент списка кликов в angularJS?

ответ

1

Вы можете использовать метод, прикрепленный к $ объема, и передать $ индекса (текущего пункт ngRepeat индекс) к нему:

$scope.items = ['one', 'two', 'three', etc...]; 

$scope.current = null; 

$scope.setCurrent = function setCurrent(index) { 
    $scope.current = index; 
}; 

<ul> 
    <li ng-repeat="item in items" ng-click="setCurrent($index)">{{item}}</li> 
</ul> 
+1

Nice, мы писали довольно много то же самое : -D Вот вам [рабочая демонстрация] (http://plnkr.co/edit/VRK1qQDRvRY7Il8ZBTcl), если это полезно для кого-то. –

+0

@ Kristján - Спасибо за демонстрацию и исправление :) –

+0

Да, я сделал это, но я также хочу, чтобы изменения отражались в пользовательском интерфейсе, поэтому я также добавил заголовок: в настоящее время выбран: {{current}}, но он не обновлять автоматически, что, я думал, что ng должно каким-то образом выполнить, учитывая правильную конфигурацию ... –

 Смежные вопросы

  • Нет связанных вопросов^_^