在应用limitTo之前添加条件过滤器

时间:2014-05-13 02:17:37

标签: javascript angularjs

我可以使用limitTo和条件吗?它的文档只显示简单的用法。

假设我想显示名为car的项目的2个结果:

$scope.items = [
    {"name":"laptop","color":"green"},
    {"name":"shoe","color":"blue"},
    {"name":"Car","color":"gold"},
    {"name":"Car","color":"gold"},
    {"name":"Car","color":"gold"}
];

Plunker

1 个答案:

答案 0 :(得分:1)

您可以在limitTo过滤器前添加其他过滤器。这称为过滤链:

<li ng-repeat="item in items | filter: 'car' | limitTo: 2">{{item.name}}</li>

如果您希望filter仅应用于items数组的name属性,则可以使用对象文字缩小范围:

<li ng-repeat="item in items | filter: {name: 'car'} | limitTo: 2">{{item.name}} - {{item.color}}</li>

这也可以使用基于用户输入的动态值:

<input type="text" ng-model="search.name" />
<li ng-repeat="item in items | filter: search | limitTo: 2">{{item.name}} - {{item.color}}</li>

在Angular文档中详细了解filter chaining