【问题标题】:ng-repeat filter to iterate only over elements with certain property valueng-repeat 过滤器仅迭代具有特定属性值的元素
【发布时间】:2016-03-06 17:53:09
【问题描述】:

我想通过一个数组进行 ng-repeat,但是 filter 结果只显示匹配某个属性值的元素。这可能吗?如何实现?

这是我正在尝试做的一个例子(显然失败了):

HTML(视图)

<ul>
  <li ng-repeat="person in people | filter: person.gender == 'male'"></li>
</ul>

<ul>
  <li ng-repeat="person in people | filter: person.gender == 'female'"></li>
</ul>

JS(控制器)

$scope.people = [

  {name: "John", gender: "male"},

  {name: "Sue", gender: "female"},

  {name: "Maria", gender: "female"},

  {name: "Bob", gender: "male"},

]

所以第一个列表应该只打印男性姓名,第二个女性姓名,基于属性值。

这可以使用 ng-repeat 的过滤器吗?或者如果没有,还有其他方法吗?

提前致谢

【问题讨论】:

标签: angularjs filter properties ng-repeat


【解决方案1】:

试试这个。 如果将 :true 放在过滤器之后,则过滤完全匹配值。

function Main($scope) {
    $scope.people = [

  {name: "John", gender: "male"},

  {name: "Sue", gender: "female"},

  {name: "Maria", gender: "female"},

  {name: "Bob", gender: "male"}

];
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app>
    <div ng-controller="Main">
      <ul>
  <li ng-repeat="person in people | filter: { gender: 'male' }:true">
   {{person.name}}
  </li>
</ul>

    </div>
</div>

【讨论】:

    猜你喜欢
    • 2014-08-19
    • 2014-05-30
    • 2014-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-30
    • 2023-03-19
    • 2023-04-08
    相关资源
    最近更新 更多