如何在对象字段的ng-repeat中应用过滤器?

时间:2016-02-18 19:54:39

标签: javascript angularjs angularjs-ng-repeat angularjs-filter

我想对选定的对象字段应用角度过滤器。我有状态列表[“等待”,“符合”,“rac”],当我选择状态时,它应该给出表中具有该状态的人的信息。

例如,如果某个人票符合,那么当我们选择status = conform时,只有显示的人应该有符合票证。同样的等待和rac

请参阅演示和代码。它不起作用。请帮忙.. Please see the demo

HTML

<div class="col-md-12">
   <table>
      <thead>
        <tr>Name</tr>
        <tr>Status</tr>
      </thead>
      <tbody >
        <tr ng-repeat="person in list| filter: status">
          <td>{{person.name}}</td>
          <td>{{person.status}}</td>
        </tr>
      </tbody>
   </table>
</div>

控制器:

$scope.status_list=["waiting", "conform", "rac"];
  $scope.list = [
  { 'name': 'A',

    'status':'waiting'
  },
  { 'name': 'B',

     'status':'conform'
  },
  { 'name': 'C',
     'status':'rac'
  }
]

2 个答案:

答案 0 :(得分:3)

具体应用filter而非status属性,而不是直接使用过滤器,该过滤器将用作包含过滤器(使用压缩器设置为true以获得完全匹配)。通过包含过滤器,您将获得列表中的人员,该名称将包含您要搜索的字符串中的任何一个status

<tr ng-repeat="person in list| filter: { status: status}: true">
   <td>{{person.name}}</td>
   <td>{{person.status}}</td>
</tr>
  

更正ng-repeadng-repeat

的拼写错误

Demo here

答案 1 :(得分:0)

<tr ng-repeat="person in list| filter: status">

你拼错了重复