Angular - 无法使 ng-repeat orderBy 工作 [英] Angular - Can't make ng-repeat orderBy work
本文介绍了Angular - 无法使 ng-repeat orderBy 工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我已经用 orderBy 尝试了很多 ng-repeat 的例子,但我无法让我的 json 使用它.
<script type="text/javascript" src="http://code.angularjs.org/1.0.1/angular-1.0.1.js"></script><div ng:controller="Main"><div ng-repeat="发布版本| orderBy:'environment_id'">{{release.environment_id}}
和 JSON
function Main($scope) {$scope.releases = {tvl-c-wbap001 + tvl-webapp":{"timestamp": " 05:05:53 PM ","environment_id": "CERT5","release_header": "项目/开发","date": "19 Oct",发布":12.11.91-1"},tvl-c-wbap401 + tvl-webapp":{"timestamp": " 10:07:25 AM ","environment_id": "CERT4","release_header": "未来版本","date": "15 Oct",发布":485-1"},tvl-c-wbap301 + tvl-webapp":{"timestamp": " 07:59:48 AM ","environment_id": "CERT3","release_header": "下一个版本","date": "15 Oct",发布":485-1"},tvl-c-wbap201 + tvl-webapp":{"timestamp": " 03:34:07 AM ","environment_id": "CERT2","release_header": "下一个改动","date": "15 Oct",发布":13.12.3-1"},tvl-c-wbap101 + tvl-webapp":{"timestamp": " 12:44:23 AM ","environment_id": "CERT1","release_header": "生产镜像","date": "15 Oct",发布":13.11.309-1"},tvl-s-wbap002 + tvl-webapp":{"timestamp": " 12:43:23 AM ","environment_id": "Stage2","date": "15 Oct",发布":13.11.310-1"},tvl-s-wbap001 + tvl-webapp":{"timestamp": " 11:07:38 AM ","environment_id": "Stage1","release_header": "生产镜像","date": "10 月 11 日",发布":13.11.310-1"},tvl-p-wbap001 + tvl-webapp":{"timestamp": " 11:39:25 PM ","environment_id": "生产","release_header": "飞行员","date": "14 Oct",发布":13.11.310-1"},tvl-p-wbap100 + tvl-webapp":{"timestamp": " 03:27:53 AM ","environment_id": "生产","release_header": "非飞行员","date": "10 月 11 日",发布":13.11.309-1"}}
不管我写什么,我总是得到相同的顺序,或者我可以说,根本没有顺序.
解决方案
orderBy
仅适用于数组 -- 参见 http://docs.angularjs.org/api/ng.filter:orderBy
也是一个很好的过滤器,用于对象而不是数组@Angularjs OrderBy onng-repeat 不起作用
I've tried many examples of ng-repeat with orderBy, but I can't make my json work with it.
<div ng-app>
<script type="text/javascript" src="http://code.angularjs.org/1.0.1/angular-1.0.1.js"></script>
<div ng:controller="Main">
<div ng-repeat="release in releases| orderBy:'environment_id'">
{{release.environment_id}}
</div>
</div>
</div>
And the JSON
function Main($scope) {
$scope.releases = {
"tvl-c-wbap001 + tvl-webapp": {
"timestamp": " 05:05:53 PM ",
"environment_id": "CERT5",
"release_header": "Projects/Dev",
"date": "19 Oct",
"release": "12.11.91-1"
},
"tvl-c-wbap401 + tvl-webapp": {
"timestamp": " 10:07:25 AM ",
"environment_id": "CERT4",
"release_header": "Future Release",
"date": "15 Oct",
"release": "485-1"
},
"tvl-c-wbap301 + tvl-webapp": {
"timestamp": " 07:59:48 AM ",
"environment_id": "CERT3",
"release_header": "Next Release",
"date": "15 Oct",
"release": "485-1"
},
"tvl-c-wbap201 + tvl-webapp": {
"timestamp": " 03:34:07 AM ",
"environment_id": "CERT2",
"release_header": "Next Changes",
"date": "15 Oct",
"release": "13.12.3-1"
},
"tvl-c-wbap101 + tvl-webapp": {
"timestamp": " 12:44:23 AM ",
"environment_id": "CERT1",
"release_header": "Production Mirror",
"date": "15 Oct",
"release": "13.11.309-1"
},
"tvl-s-wbap002 + tvl-webapp": {
"timestamp": " 12:43:23 AM ",
"environment_id": "Stage2",
"date": "15 Oct",
"release": "13.11.310-1"
},
"tvl-s-wbap001 + tvl-webapp": {
"timestamp": " 11:07:38 AM ",
"environment_id": "Stage1",
"release_header": "Production Mirror",
"date": "11 Oct",
"release": "13.11.310-1"
},
"tvl-p-wbap001 + tvl-webapp": {
"timestamp": " 11:39:25 PM ",
"environment_id": "Production",
"release_header": "Pilots",
"date": "14 Oct",
"release": "13.11.310-1"
},
"tvl-p-wbap100 + tvl-webapp": {
"timestamp": " 03:27:53 AM ",
"environment_id": "Production",
"release_header": "Non Pilots",
"date": "11 Oct",
"release": "13.11.309-1"
}
}
It doesn't matter what I write, I always get the same order, or I may say, no order at all.
解决方案
The orderBy
only works with Arrays -- See http://docs.angularjs.org/api/ng.filter:orderBy
Also a great filter to use for Objects instead of Arrays @ Angularjs OrderBy on ng-repeat doesn't work
这篇关于Angular - 无法使 ng-repeat orderBy 工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文