В следующем коде мне нужно получить идентификатор билета в качестве параметра метода. ng-click = "rejectTicket ({{ticket.id}})" (конечно, этот код не работает)
Я хочу отправить этот идентификатор конкретного билета в сгенерированную строку таблицы на мой внутренний контроллер Java и вызвать метод reject()
. Любые идеи о том, как достичь этой функциональности "чистым" способом?
<tr ng-repeat="ticket in tickets" ng-show="ticket.state === 'NEW' || ticket.state === 'PROCESSING'">
<td>{{ticket.created}}</td>
<td style="text-align: center;">
<a href="#" ng-click="rejectTicket({{ticket.id}})">
<img class="ico" src="../lib/images/reject.png" title="Reject ticket">
</a>
<a href="#" ng-hide="ticket.state === 'PROCESSING'">
<img class="ico" src="../lib/images/incrase.png" title="Change to processing">
</a>
<span ng-show="ticket.state === 'PROCESSING'">
<img class="ico" src="../lib/images/incraseDisabled.png" title="Already processing">
</span>
<a href="#">
<img class="ico" src="../lib/images/approve.png" title="Satisfy ticket">
</a>
</td>
</tr>
EDIT 1 Код контроллера добавлен ниже.
angular.module('app').controller('TicketController', function ($scope, $http, $location) {
$scope.tickets = [];
/**
* Get tickets.
*/
$http.get('rest/tickets').then(function (response) {
$scope.tickets = response.data;
});
/**
* Create a ticket.
*/
$scope.createTicket = function () {
console.log('submit');
$http({
url: 'rest/tickets',
method: "POST",
data: $scope.ticket
}).then(function (response) {
$scope.tickets.push(response.data);
}, function () {
alert('Error: New ticket was not created.');
}).finally(function () {
$scope.ticket = {
state: 'NEW'
};
})
};
/**
* Reject a ticket.
*/
$scope.rejectTicket = function (ticketId) {
console.log('submit');
$http({
url: 'rest/tickets/reject',
method: "PUT",
data: ticketId
}).then(function (response) {
$scope.tickets.push(response.data);
}, function () {
alert('Error: Can not reject this ticket.');
}).finally(function () {
$scope.ticket = {};
})
};
});
Вам не нужна нотация {{}} в ngClick, чтобы эта строка: <a href="#" ng-click="rejectTicket({{ticket.id}})">
должна быть изменена на: <a href="#" ng-click="rejectTicket(ticket.id)">