Musisz przekazać $index
do delete
metody i usuń ten element z data
obiekt
HTML
<ul>
<li ng-repeat="row in data">
{{row.ID}}
{{row.subject}}
{{row.body}}
<a ng-click="delete(row.ID, $index)">Delete</a>
</li>
</ul>
JS
$scope.delete = function(deletingId, index){
$http.get("delete.php?id=" + deletingId)
.success(function(data){
$scope.data.splice(index, 1);
})
}
Również nie rób tego
- Użyj innej nazwy dla klucza ng-repeat (teraz zmieniłem na
row
zamiastdata
) - Nie opróżniaj atrybutu href="", ponieważ po kliknięciu ta cała strona może się odświeżyć (teraz to usunąłem)
- Nie używaj przestarzałej składni w PHP. Użyj
PDO
zamiastmysql_*