我正在尝试从我的 AngularJS 视图中删除项目。从视图中,我传递了索引和 ID。在 JS 控制器中,我从 AngularJS 数组/模型中拼接(索引) 。我将 ID 传递给$http.get以调用对我的数据库的删除。这一切都有效。
……
直到我请求刷新我的页面。每 5 秒我都会请求更新 Angular 模型,并将任何新数据连接到它。但我发现它搞砸了我的指数值。我以为它正在重新排序我的索引:阅读这个 StackOverflow 线程有助于确认这一点。
会发生什么我为页面上的第三个项目推送删除,它从数据库中删除了该 ID。但它会从页面拼接错误的项目,直到我刷新页面。 如何确保始终传递正确的索引?
看法
<li ng-repeat="new in news | filter:query | orderBy:orderProp">
<div class="newsitem" id="newspost{{new.id}}">
<h4 ng-model="news.title">{{new.title}} </h4>
<p ng-model="news.text">{{new.text}}</p>
<a class="btn btn-info" ng-click="visible = true">View article</a>
<a ng-click="deleteNews(index,new.id)" class="btn btn-danger btn-mini">Delete</a>
</div>
</li>
控制器.js
$scope.deleteNews = function(index, id) {
$http.get('/ci/index.php/news/delete_news_ajax/'+id).success(function(){
$scope.news.splice(index, 1);
});
};