0
我的問題是: 我想使用ng-repeat對其子對象進行排序。在AngularJs中使用ng-repeat對象和對象排序
facets = {
'tm_mailbox': {buckets: [{key:'budlion', doc_count:1037}]},
'tm_user': {buckets: [{key:'karl', doc_count:10}, {key:'kael2', doc_count:111}] },
'tm_message': {buckets: [{key:'sylvia', doc_count:298}] }};
facets_ordered_keys = ['tm_user', 'tm_message', 'tm_mailbox']
默認情況下該對象將按A-Z排序。我想訂購該物品。
我用了兩個NG-重複,第一環路會讀取排序鍵和第二環路將被鍵,例如在僞代碼中的循環中讀取值:
for k in facets_ordered_keys:
print k
for v in facets[k]:
print v
但我不能讀在第2次重複中使用方面[k]。
以下是在角js代碼:
<!doctype html>
<html ng-app>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.26/angular.min.js"></script>
</head>
<body>
<div ng-init="facets =
{'tm_mailbox': {buckets: [{key:'budlion', doc_count:1037}]},
'tm_user': {buckets: [{key:'karl', doc_count:10}, {key:'kael2', doc_count:111}] },
'tm_message': {buckets: [{key:'sylvia', doc_count:298}] }};
facets_ordered_keys = ['tm_user', 'tm_message', 'tm_mailbox']
">
<div ng-repeat=" k in facets_ordered_keys ">
<p>k is: {{k}}</p>
<p>In facets values is:{{facets[k]}}</p>
</div>
<hr>
<!-- why i cannot read facets[k]? -->
<div ng-repeat=" k in facets_ordered_keys ">
<dt>{{k}}</dt>
<dl ng-repeat="v in facets[k]">
<dd ng-repeat="bucket in v.buckets">
<label>{{bucket.key}}</label>
<span>{{bucket.doc_count}}</span>
</dd>
</dl>
</div>
</div>
</body>
</html>
我想他並不需要在'面[K]'額外'NG-repeat',因爲他只在乎對象的'buckets'財產。所以應該有''dd ng-repeat =「桶中的一個嵌套循環[face] [k] .buckets」>' – 2015-02-06 11:00:00
是的。除非他想要「
」標籤環繞「」標籤。 – Deshan 2015-02-07 05:51:24
@DavidWilliams非常感謝。你瞭解我 ;) – zjalex 2015-02-07 06:45:29