AngularJs ng-Repeat Filter停止使用"!"进行搜索。

时间:2015-03-14 12:01:25

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

ng_repeat的AngularJS过滤器在使用文本“!”搜索时不起作用。 像搜索文本一样是“!icon”。然后它返回不包含“icon”的结果。 我也尝试过angularjs.org。

https://docs.angularjs.org/api/ng/directive/ngRepeat

当我搜索“28”时,它只会填充两个结果,但是当我搜索“!28”时,它会返回8个不包含28的结果。

有没有办法考虑“!”作为正常人物。

1 个答案:

答案 0 :(得分:0)

ng-repeat中的过滤条件与filter

中指定的完全相同
  

该字符串用于匹配数组的内容。将返回与此字符串匹配的数组中具有字符串属性的所有字符串或对象。这也适用于嵌套对象属性。可以通过在字符串前添加!

来否定谓词

您可以找到角度比较代码here。我相信没有简单的解决方法 - 它不是正则表达式,代码只检查!是否是第一个字符。即使是自定义比较器也不会起作用,因为!仍然会做出否定。

最简单的解决方法是创建自己的$ filter进行过滤并停止使用filter过滤器。