Передача нескольких аргументов методу ng-click
В моем коде мне нравится передавать аргументы функции, указанной внутри атрибута ng-click.
<div class="shout" ng-repeat="user in users">
<p>{{user.name}}</p>
<img src="media/images/delete.png" ng-click="deleteUser({{$index}},{{user._id}})"/>
</div>
и в контроллере
function deleteUser(index, userId){...}
параметр index должен удалить пользователя из $scope.user и user._id, чтобы удалить его из mongodb. Я новичок в angular js.
когда я так пробовал, deleteUser не получает вызов. если я передаю один аргумент, он работает как шарм, но когда я пропускаю больше, чем его не работает
Ответы
Ответ 1
Вам не нужно {{ }}
при указании аргументов обработчикам событий (ng-click
). Правильный синтаксис будет ng-click="deleteUser($index, user._id)
:
<div class="shout" ng-repeat="user in users">
<p>{{user.name}}</p>
<img src="media/images/delete.png" ng-click="deleteUser($index, user._id)"/>
</div>
Вот рабочий плункер на основе кода, который вы предоставили (проверьте консоль, чтобы увидеть, что обработчик кликов работает правильно): http://plnkr.co/edit/26A4Rj0FScPXYU7z92E6?p=preview