Mam prostą pętlę z ng-repeat
tym:
<li ng-repeat='task in tasks'>
<p> {{task.name}}
<button ng-click="removeTask({{task.id}})">remove</button>
</li>
W sterowniku jest funkcja $scope.removeTask(taskID)
.
O ile wiem, Angular najpierw renderuje widok i zastępuje interpolowany {{task.id}}
liczbą, a następnie, po zdarzeniu click, ocenia ng-click
ciąg znaków.
W tym przypadku ng-click
zostanie całkowicie, czego oczekuje, to znaczy: ng-click="removeTask(5)".
Jednak ... to nie robi nic.
Oczywiście mogę napisać kod do pobrania task.id
z $tasks
tablicy, a nawet DOM, ale nie wygląda to na Angular.
Jak więc dodać dynamiczną treść do ng-click
dyrektywy wewnątrz ng-repeat
pętli?
ng-click
wyrażenie nie używa nawiasów, tj.ng-click="taskData.currentTaskId = task.id"