Angularjs 角度排序

Angularjs 角度排序,angularjs,angularjs-ng-repeat,Angularjs,Angularjs Ng Repeat,我正在使用Angular构建一个应用程序。 我有从服务器返回的按日期排序的JSON。 我绑定到视图中的这些数据 用户可以更改视图中显示的数据。这将启动一个请求,视图将在绑定到JSON数据更改时得到更新 Angular获取此JSON数据后,会按字母顺序对其进行排序。 我想维护来自服务器的排序顺序 我在谷歌上搜索了一下,找到了以下解决方案 <div ng-repeat="key in notSorted(myData)" ng-init="data = myData[key]"> 这在

我正在使用Angular构建一个应用程序。 我有从服务器返回的按日期排序的JSON。 我绑定到视图中的这些数据

用户可以更改视图中显示的数据。这将启动一个请求,视图将在绑定到JSON数据更改时得到更新

Angular获取此JSON数据后,会按字母顺序对其进行排序。 我想维护来自服务器的排序顺序

我在谷歌上搜索了一下,找到了以下解决方案

<div ng-repeat="key in notSorted(myData)" ng-init="data = myData[key]">
这在开始时效果很好。数据以正确的顺序显示。 然而,它打破了束缚。因此,当用户试图更改显示的数据时,视图不会更新,因为notSorted没有看到绑定更改

我可以想出一些黑客的方法来解决这个问题,比如手动启动更新,但是我想用正确的方法来实现。 有人知道那是什么吗

谢谢

我相信你需要这个:

它的工作原理是这样的:

<div ng-repeat="item in items | orderBy:'key'">

由于数据从服务器返回的方式以及我需要对数据进行迭代的方式,我无法获得任何“orderBy”或过滤器解决方案。 然而,我发现在Angular 1.4中,为了保留从服务器返回数据的顺序,他们删除了默认的顺序(字母顺序/升序)

我当时使用的是1.3.x,只是简单地更新到了1.4,它可以正常工作


谢谢

如果您想要JavaScript中的顺序,请使用数组,而不是对象。我认为angular不会更改来自服务器的顺序,可能还有其他问题,请再次检查服务器返回的数组。请参阅阵列日志。您好,服务器,谢谢您的回复。我不确定这对我有用。我需要将JSON对象转换为一个数组以使用“orderBy”,但我需要它是一个关联数组以保留键,因为我也在视图中显示键
<div ng-repeat="item in items | orderBy:'key'">