Musíte předat $index
do delete
a odstraňte tuto položku z data
objekt
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);
})
}
Také to nedělejte
- Použít jiný název pro klíč ng-repeat (Nyní jsem se změnil na
row
místodata
) - Atribut href="" nevyprázdněte, protože když kliknete na celou stránku, může se obnovit (teď jsem to odstranil)
- V PHP nepoužívejte zastaralou syntaxi. Použijte
PDO
místomysql_*