编辑元素后重新排序ng-repeat

时间:2014-11-28 07:04:27

标签: angularjs

假设我在某个属性/列上有ng-repeatorderBy,请说name。如果我编辑列,它会重定向到另一个页面,其中字段为可编辑输入。当我编辑name并提交编辑时,它会返回到表格页面,但编辑后的元素应该在它应该移动到某处时保持在先前的位置。那么如何再次使AngularJS计算订单呢?感谢。

2 个答案:

答案 0 :(得分:1)

你做错了什么。 Here's a working demo(点击某个人来修改他们的年龄)。

这里有一些代码需要通过指向codepen的链接发布我的答案:

<div ng-repeat="person in people | orderBy:'age'">...</div>

答案 1 :(得分:0)

  1. 在您看来,您可以这样做:
  2. <div ng-repeat="item in sortedItems = (allItems | orderBy : itemProperty : reverse)" >
    </div>
    
    1. 如果您想从控制器执行此操作(您必须从上面的示例中删除过滤器):
    2. $scope.$watch('sortedItems', function() {
              $scope.allItems = orderBy($scope.allItems, itemProperty, reverse);
          }, true);
      

      第二个选项可以帮到你,但绝对不是一个好习惯,你应该尽可能避免使用它。