我从api调用获取json数据,查找包含id,name,error_type和message的各种项目的错误列表。我需要显示一个包含项目名称和ID的标题,并在其下面列出属于该id的所有错误。我在角度使用独特的过滤器,但跳过具有相同ID的下一个对象。当id相同时,我想要一些合并对象属性的帮助。
var items =[ {
"id": 83739,
"name": "abcd",
"type": "error",
"msg": "For Macros, x >= y"
},
{
"id": 83739,
"name": "abcd",
"type": "warning",
"msg": "Missing Power Condition"
},{
"id": 83740,
"name": "efgh",
"type": "error",
"msg": "Missing Power supply"
}]

<div ng-repeat="item in items | unique:'id'">
<h4><a href="#/product/item/{{item.id}}"> {{io.item}}</a></h4>
<ul>
<li > {{item.type}}: {{item.msg}}</li>
</ul>
</div>
&#13;
我需要的输出是这样的
<div>
<h4><a href="#/product/item/83739"> abcd</a></h4>
<ul>
<li > error: For Macros, x >= y</li>
<li > warning: Missing Power Condition</li>
</ul>
</div>
<div>
<h4><a href="#/product/item/83740}"> efgh</a></h4>
<ul>
<li > error: Missing Power supply</li>
</ul>
</div>
&#13;
答案 0 :(得分:1)
向你的li添加一个ng-repeat指令并应用一个过滤器,如下所示:
<li ng-repeat="i in items | filter: {id: item.id}"> {{i.type}}: {{i.msg}}</li>
在上下文中:
<div ng-repeat="item in items | unique:'id'">
<h4>
<a href="#/product/item/{{item.id}}"> {{io.item}}</a>
</h4>
<ul>
<li ng-repeat="i in items | filter: {id: item.id}"> {{i.type}}: {{i.msg}}</li>
</ul>
</div>
这是一个有效的plunk