1

我有这样的事情:

[
  {name: 'Julian', number: 1},
  {name: 'Mike', number: 2},
  {name: 'Carlos', number: 3},
  {name: 'Juan', number: 4},
  {name: 'Kate',number: 5},
]

和一个 orderBy: 'number' 在 ng-repeat 中。它工作完美,但我需要交换数字的值,例如,现在我需要 Juan 有一个数字 2,Mike 有一个数字 4,然后我需要它们重新排序。在此之前我有一个过滤器,并且过滤器正在接收正确的更改,但是当它订购时,我不知道为什么它在第一次订购时订购。它没有考虑到数值已经改变。

有人知道解决方案吗?

编辑:

这是我想做的一种示例:

http://jsfiddle.net/eWZHh/9/

4

1 回答 1

4

我创建了一个演示,看起来效果很好。您可以看到数据在 2 秒内发生了变化,并且数据和订单过滤器将自动更新。

编辑:您需要将 ng-click 按钮放在控制器的范围内

<ul ng-app="myapp" ng-controller="MainCtrl">
    <button ng-click="changeOrder()">Change order</button>
    <li ng-repeat="user in users | orderBy: 'number'">{{ user.name }}, {{ user.number }}</li>
</ul>

Demo

于 2013-08-04T19:42:26.960 回答