У меня есть набор элементов списка, каждый из которых можно щелкнуть. После нажатия, я хочу, чтобы базовая модель обновлялась до текущего элемента списка элементов списка. Например, если я нажимаю на третий элемент, я хочу, чтобы для параметра my_ scope.current моего контроллера было установлено значение 2. Поскольку элементы списка не являются стандартными вводами формы, я не могу использовать ng-model, поэтому мне было интересно, что решение ....Как установить элемент списка кликов в angularJS?
0
A
ответ
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>
Nice, мы писали довольно много то же самое : -D Вот вам [рабочая демонстрация] (http://plnkr.co/edit/VRK1qQDRvRY7Il8ZBTcl), если это полезно для кого-то. –
@ Kristján - Спасибо за демонстрацию и исправление :) –
Да, я сделал это, но я также хочу, чтобы изменения отражались в пользовательском интерфейсе, поэтому я также добавил заголовок: в настоящее время выбран: {{current}}, но он не обновлять автоматически, что, я думал, что ng должно каким-то образом выполнить, учитывая правильную конфигурацию ... –