Подтвердить что ты не робот

Передача нескольких аргументов методу 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 не получает вызов. если я передаю один аргумент, он работает как шарм, но когда я пропускаю больше, чем его не работает

4b9b3361

Ответ 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