我尝试用两个json进行两次嵌套的ng-repeats,其中第二次ng-repeat由第一次ng-repeat的参数过滤。
首先,json $ scope.matches包含世界杯每场比赛的信息。 第二个json @ scope.predictions包含每个游戏的每个用户预测。
现在我想重复一个匹配作为标题,然后列出该特定游戏的所有预测。重复,直到在正确的游戏下列出每个预测。我有match.matchnumber = prediction.matchnumber。
在我的Plunker http://plnkr.co/edit/GQmYxZiO53nkIBVczaS9?p=preview中,您可以看到过滤器无法正常工作,因为它适用于每个对象参数,而不仅仅是matchnumber。
使这项工作最简单的方法是什么? 也许我应该将jsons组合成一个过滤后的数组?如何以智能方式完成这项工作
答案 0 :(得分:1)
为了按特定属性进行过滤,您需要传递一个对象,其中property-name为key,search-term为value:
ng-repeat="p in predictions | filter:{matchnumber: match.matchnumber}"
<子>
上述过滤器仅返回matchnumber
属性与match.matchnumber
匹配的预测。
子>
另请参阅此 updated demo 。
<子> 也就是说,在每个摘要循环中循环遍历每个匹配的所有预测可能效率不高。更好的方法是处理两个JSON并构建包含所有必要数据的第三个JSON,这样在视图中不需要过滤。 子>