排序 – Angularjs错误$index后orderBy

前端之家收集整理的这篇文章主要介绍了排序 – Angularjs错误$index后orderBy前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我是新的Angular.js和有一些问题排序我的数组和工作排序数据。

我有一个列表的项目,想要这样排序它的“Store.storeName”,这是工作到目前为止。但在排序数据后,我的删除功能不再工作了。我认为这是因为$索引排序后错误,所以错误的数据被删除

我该如何解决?将数据排序在作用域而不是视图中?怎么做?

这里是一些相关的代码

在视图:

  1. <tr ng-repeat="item in items | orderBy:'Store.storeName'">
  2. <td><input class="toggle" type="checkBox" ng-model="item.Completed"></td>
  3. <td>{{item.Name}}</td>
  4. <td>{{item.Quantity}} Stk.</td>
  5. <td>{{item.Price || 0 | number:2}} €</td>
  6. <td>{{item.Quantity*item.Price|| 0 | number:2}} €</td>
  7. <td>{{item.Store.storeName}}</td>
  8. <td><a><img src="img/delete.png" ng-click="removeItem($index)">{{$index}}</a></td>
  9. </tr>

在我的控制器我有这个删除功能,这应该删除特定的数据:

  1. $scope.removeItem = function(index){
  2. $scope.items.splice(index,1);
  3. }

这在视图中排序之前很好地工作。
如果缺少重要的事情,请让我现在。

谢谢!

取而代之或在$ index上继承 – 你已经注意到了 – 将指向一个排序/过滤的数组中的索引,你可以将该项本身传递给你的removeItem函数
  1. <a><img src="img/delete.png" ng-click="removeItem(item)">{{$index}}</a>

修改removeItem函数以使用数组的indexOf方法来查找索引,如下所示:

  1. $scope.removeItem = function(item){
  2. $scope.items.splice($scope.items.indexOf(item),1);
  3. }

猜你在找的Angularjs相关文章