不过这个问题Angular.js更复杂的条件循环的 ,但我觉得这个问题的答案,因为它被要求是正确的,所以我接受了。
因此,让我阐述超过我原来的问题没有。
我试图让这个
<h3>11.4.2013</h3>
<ul>
<li>oofrab | 4 | 11.4.2013 14:55 <button>remove</button></li>
<li>raboof | 3 | 11.4.2013 13:35 <button>remove</button></li>
</ul>
<h3>10.4.2013</h3>
<ul>
<li>barfoo | 2 | 10.4.2013 18:10 <button>remove</button></li>
<li>foobar | 1 | 10.4.2013 12:55 <button>remove</button></li>
</ul>
从该数据结构
[
{
"id": 4,
"name": "oofrab",
"date": "2013-11-04 14:55:00"
},
{
"id": 3,
"name": "raboof",
"date": "2013-11-04 13:55:00"
},
{
"id": 2,
"name": "barfoo",
"date": "2013-10-04 18:10:00"
},
{
"id": 1,
"name": "foobar",
"date": "2013-10-04 12:55:00"
}
]
基本上,在标准的唯一的额外ng-repeat
我想补充是那些标题。 我简直不敢相信我不得不加入他们去通这么多的问题。
这是我结束了使用我的第一个问题得到了答案http://plnkr.co/edit/Zl5EcsiXXV92d3VH9Hqk?p=preview
请注意,实际上能达到400项。 我需要能够添加/删除/编辑条目上飞
什么上plunker的例子是这样做的:
迭代直通原始数据创建一个新的数据结构,看起来像这样
{
"2013-10-05": [
{
"id": 4,
"name": "oofrab",
"date": "2013-10-05 14:55:00",
"_orig_index": 0
},
{
"id": 3,
"name": "raboof",
"date": "2013-10-05 13:55:00",
"_orig_index": 1
}
],
"2013-10-04": [
{
"id": 2,
"name": "barfoo",
"date": "2013-10-04 18:10:00",
"_orig_index": 2
},
{
"id": 1,
"name": "foobar",
"date": "2013-10-04 12:55:00",
"_orig_index": 3
}
]
}
让我再拿到我希望通过这样的结果
<div ng-repeat="(date,subItems) in itemDateMap">
<h3>{{date}}</h3>
<ul>
<li ng-repeat="item in subItems">
{{item.name}} | {{item.id}} | {{item.date}}
<button type="button" ng-click="removeItem(item._orig_index)">x</button>
</li>
</ul>
</div>
大。 但它与问题shizzload的成本。 每当一个新项目添加我必须重建itemDateMap
,每次一个项目被删除我必须重建itemDateMap
,每次日期改变,我必须重建itemDateMap
。 当我想删除一个项目,我必须首先把它原来的基准指数。 而每次itemDateMap
重建,整个事情是重新呈现。 而且它不能进行排序,因为它是一个对象,而不是一个数组。
当有一对夫妇的条目百,它也变成真的,真的很慢。 我读的地方,NG-重复是相当聪明,看值,在DOM移动点头,而不是重新渲染一切的东西,但它肯定不会以这种方式工作时,我重建整个结构。
这不可能是正确的,这一切的麻烦做了非常,非常简单的事情..
我该怎么办?