我正在使用Angular.js显示JSON文件中的类别列表。 但它显示重复的类别,但我想过滤掉重复的类别并显示uniq类别。此外,我想如果用户点击任何类别,那么它应该根据所选类别显示帖子名称,例如,如果用户选择“aframax”,那么它应该显示帖子标题“Article22”。请在此处查看我的代码“http://plnkr.co/edit/1vcIAPSwvxQcbIzMhyzp?p=preview”
答案 0 :(得分:1)
基本上你正在寻找的是' group by'对于ng-repeat。也许更好的解决方案是重构JSON,其中每个类别包含一个帖子列表,而不是每个帖子包含一个类别列表。
如果您不想更改JSON,则需要对逻辑进行微调,以获得您正在寻找的效果。这是一个更新plunker: http://plnkr.co/edit/0pXRSd8k9yiq8Y6314xo?p=preview
不是将所有类别(包括重复项)推送到数组中,而是创建一个按ID保存每个单独类别的地图,以及一个引用该类别中帖子的数组。在循环播放帖子时遇到唯一类别时,将其添加到地图中。然后将帖子添加到该类别。
最后在html中,为帖子添加嵌套的ng-repeat。使用ng-show显示/隐藏每个类别下面的帖子