【发布时间】:2014-02-07 14:26:19
【问题描述】:
我将从这个示例小提琴开始,它演示了使用比较器参数来过滤精确匹配......:
http://jsfiddle.net/api/post/library/pure/
priority 是 1-100 之间的数字,但我将其作为文本输入并过滤为字符串 所以任何包含子字符串的数据也将通过 ng-repeat ......就像当我输入 1 时,它也会显示 11、111、132 等......这就是我遇到 :true 比较器的方式。
我已经阅读了建议编写自定义过滤器函数的其他堆栈流答案,但是使用真正的比较器,看起来我可以通过以下方式实现我想要的:
<input type="text" class="form-control" id="search.priority"
title='Priority number to filter by'
ng-model="search.priority" >
<tr ng-repeat="workflowItem in workflows | filter:search:true">
<td>{{workflowItem.priority}}</td>
它只过滤完全匹配的内容。但是,显然当输入字段为空时它不会传递任何内容,因为没有任何内容与空字符串匹配。
我的问题是:有没有一种方法可以让 ng-repeat 在字段为空时仍然显示所有内容,同时保持完全匹配过滤器?感谢大家的时间!
【问题讨论】:
-
检查 jsfiddle 网址。
-
我的理解是filter过滤器会在谓词为空字符串时返回所有元素。见jsfiddle.net/3aD8N。
-
抱歉 - 我现在看到了问题。
标签: javascript angularjs