Angularjs 过滤元素列表最有效的方法是什么

Angularjs 过滤元素列表最有效的方法是什么,angularjs,angular-ui-router,angular-filters,Angularjs,Angular Ui Router,Angular Filters,我有一个图像列表和一个data.json文件,看起来像: [ { "id" : 1, "description" : "", "category": "bathroom", "url" : "bathroom/1.jpg" }, { "id" : 2, "description" : "", "category": "bathroom", "url" : "bathroom/2.jpg" }... ] 我重复这些图

我有一个图像列表和一个data.json文件,看起来像:

[
  {
    "id" : 1,
    "description" : "",
    "category": "bathroom",
    "url" : "bathroom/1.jpg"
  },
  {
    "id" : 2,
    "description" : "",
    "category": "bathroom",
    "url" : "bathroom/2.jpg"
  }...
]
我重复这些图像:

<ul ng-controller="galleryCtrl" class="gallery">
  <li ng-repeat="photo in photos" class="gallery-list-item" rel="group">
    <a href="../photos/{{photo.url}}" class="{{photo.category}} fancybox" rel="group"><img ng-src="../photos/{{photo.url}}" alt=""/>{{photo.id}}</a>
  </li>
</ul>
现在,我想为每个“类别”添加一个按钮,它将过滤(ng animate nice to have)并仅显示与该按钮绑定的类别

我想一个简单的方法是按类计算,但我想知道使用photo.category值是否更明智。 实际上,我不希望在HTML(ngClick)中添加函数调用,但我不知道是否可以避免

AngularJS中的一个挑战是选择执行操作的最佳方法,因为总是有多个方法

还要注意的是,我使用的是ui路由器,所以我可以只使用视图,每个类别有一个视图。。但我认为这太过分了

我的问题:


你能列出2-3种可能的解决方案,只详细说明最适合你的一种吗?

photo in photos | filter:photo.category
毫无意义。事实上,这是一种剩余的粘贴。。。远离的。