停止AngularJS按字母顺序重复渲染
Stop AngularJS ng-repeat rendering in alphabetical order
在我的angular应用程序中,我试图在表中显示JSON数据。数据如下所示:
$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>
在我看来,这应该遍历对象中的每个'(键,值)对并按顺序显示。但是,AngularJS会按字母顺序显示这些值。
下面是复制这个问题的plunkr: http://plnkr.co/edit/V3Y2ZuwV1v9Pzsl0jGhA?p=preview
我如何调整代码,使其以对象实际进入的自然顺序显示?
您可以这样实现
演示工作
在作用域中定义一个方法,如下所示
$scope.notSorted = function(obj){
if (!obj) {
return [];
}
return Object.keys(obj);
}
和HTML中如下所示