按字母顺序停止 AngularJS ng-repeat 渲染 [英] Stop AngularJS ng-repeat rendering in alphabetical order

查看:24
本文介绍了按字母顺序停止 AngularJS ng-repeat 渲染的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的 angular 应用程序中,我试图在表格中显示 JSON 数据.数据如下所示:

In my angular app I'm trying to display JSON data in a table. The data looks like this:

$scope.data = 
  {
    "EVENT NAME":"Free Event",
    "ORDER ID":311575707,
    "DATE":"6/26/14",
    "GROSS REVENUE (USD)":"0",
    "TICKET REVENUE (USD)":"0",
    "EVENTBRITE FEES (USD)":"0",
    "CC PROCESSING (USD)":"0",
    "TICKETS":1,
    "TYPE":"Free Order",
    "STATUS":"Free Order",
    "TRANSACTION ID":"",
    "NOTES":"",
    "FIRST NAME":"Khee Seng",
    "LAST NAME":"Chua",
    "EMAIL ADDRESS":"email@anemailadderss.com"
  };

我是这样显示的:

   <table class="table table-striped selector">
      <tbody>
        <tr>
          <td ng-repeat="(key, value) in data">
            <strong>{{key}}</strong>
          </td>
        </tr>
        <tr>
          <td ng-repeat="(key, value) in data">
                    {{value}}
                </td>
        </tr>
      </tbody>
    </table>

在我看来,这应该遍历对象中的每个`(key, value) 对并按顺序显示它.但是,AngularJS 按字母顺序显示值.

In my mind this should go through each `(key, value) pair in the object and display it in order. However, AngularJS displays the values in alphabetical order.

这是一个复制此问题的 plunkr:http://plnkr.co/edit/V3Y2ZuwV1v9Pzsl0jGhA?p=preview

Here's a plunkr which replicates this issue: http://plnkr.co/edit/V3Y2ZuwV1v9Pzsl0jGhA?p=preview

如何调整代码,使其按照对象实际进入的自然顺序显示?

推荐答案

你可以这样实现

工作演示

在范围内定义一个方法,如图所示

In the scope define a method like as shown

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

在 html 中,如下所示

and in html like as shown below

html

<table class="table table-striped selector">
  <tbody>
    <tr>
      <th ng-repeat="key in notSorted(data)">
         {{key}}
      </th>
    </tr>
    <tr>
      <td ng-repeat="key in notSorted(data)" ng-init="value = data[key]">
            {{value}}
         </td>
    </tr>
  </tbody>
</table>

原始文章:ng-repeat 没有排序?如何?

Original Article: ng-repeat with no sort? How?

这篇关于按字母顺序停止 AngularJS ng-repeat 渲染的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆