一尘不染

在Angular JS中跳过ng-repeat JSON排序

angularjs

有谁知道当我使用ng-repeat时如何完全 跳过 JSON排序(可能以一种轻松的方式)?

例如,我的源JSON看起来像这样-

{
   "title": "Title",
   "description": "Description",
   "moreInfo": "Moreinformation"
}

一旦在ng-repeat中使用它,它就会按字母顺序排序。像这样-

{
   "description": "Description",
   "moreInfo": "Moreinformation",
   "title": "Title"
}

我的ng-repeat看起来像这样-

<div ng-repeat="(key,data) in items">
   <span class="one"> {{key}} </span>
   <span class="two"> {{data}} </span>
</div>

我见过人们有一个单独的键数组,并使用它们来标识JSON对象,最终避免了字母排序。

有没有一种优雅的方法可以做到这一点?


阅读 224

收藏
2020-07-04

共1个答案

一尘不染

在Google网上论坛找到了不错的解决方法:

    <div ng-repeat="key in notSorted(data)" ng-init="value = data[key]">
         <pre>
               key: {{key}}
               value: {{value}}
         </pre>           
    </div>

范围:

    $scope.data = {
        'key4': 'data4',
        'key1': 'data1',
        'key3': 'data3',
        'key2': 'data2',
        'key5': 'data5'
    };

    $scope.notSorted = function(obj){
        if (!obj) {
            return [];
        }
        return Object.keys(obj);
    }

工作:http//jsfiddle.net/DnEXC/

原文:https//groups.google.com/forum/#!topic
/ angular /
N87uqMfwcTs

2020-07-04