使用angularjs过滤列表

时间:2015-01-27 14:40:01

标签: angularjs filtering angularjs-filter

查看我的Fiddle

我的书名列有"漫画"和小说"在我的清单中。

在顶部我有所有标签,如果你点击每个标签,那么应该只显示该文字的书籍。

如果我在JSON的父级别获得JSON密钥,那么它的工作完美。 但在这种情况下,我将标签密钥作为cid,我需要对该密钥进行基本排序。

这是我的js代码

function Test($scope) {
  $scope.persons = [{
               "s": "book1",
              "cl": [{
                  "cn": "fiction",
                  "cid": 1
              }]
          }, {
               "s": "book 2",
              "cl": [{
                  "cn": "comic",
                  "cid": 2
              }]
          }];
}

任何想法?

1 个答案:

答案 0 :(得分:0)

您可以在每个标签中使用ng-click并使用值调用函数。根据该值,您可以将array过滤为新array。   像这样

  <span ng-click="setTab(1)">fiction</span> | 
  <span ng-click="setTab(2)">comic</span> |
  <span ng-click="setTab(3)">No filter</span>

并在控制器中

$scope.setTab = function(a) {
      $scope.s=a;
      //filter your array based on the value
      /*if(a===1){ filter fictions} and so on */
   }

请参阅我的fiddle以了解