我正在使用 Angular.js 显示 JSON 文件中的类别列表。 但它显示重复的类别,但我想过滤掉重复的类别并显示 uniq 类别。另外,我希望如果用户单击任何类别,那么它应该根据所选类别显示帖子名称,例如如果用户选择“aframax”,那么它应该显示帖子标题“Article22”。请在此处查看我的代码“http://plnkr.co/edit/1vcIAPSwvxQcbIzMhyzp?p=preview”
最佳答案
本质上,您正在寻找的是 ng-repeat 的“group by”。也许更好的解决方案是重构 JSON,其中每个类别都包含一个帖子列表,而不是每个帖子都包含一个类别列表。
如果您不想更改 JSON,则需要对逻辑进行一些小调整才能获得您想要的效果。这是一个更新插件: http://plnkr.co/edit/0pXRSd8k9yiq8Y6314xo?p=preview
不要将所有类别(包括重复项)插入数组中,而是创建一个通过 id 保存每个单独类别的映射,以及一个引用该类别中帖子的数组。当循环浏览帖子时遇到独特的类别时,请将其添加到 map 中。然后将帖子添加到该类别。
最后在 html 中,为帖子添加嵌套的 ng-repeat。使用 ng-show 显示/隐藏每个类别下的帖子
关于javascript - 如何使用过滤器显示uniq类别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24215103/