【问题标题】:AngularJs ng-Repeat Filter stop working on search with "!"AngularJs ng-Repeat Filter 停止使用“!”进行搜索
【发布时间】:2015-03-14 12:01:24
【问题描述】:

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

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

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

有什么办法可以考虑“!”作为一个普通角色。

【问题讨论】:

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


    【解决方案1】:

    ng-repeat 中的过滤器的行为与filter 中指定的完全相同

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

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

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

    【讨论】:

    • 有什么办法可以考虑“!”作为一个普通角色。
    • @hitesh 没有找到,也没有记录。
    猜你喜欢
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 2014-06-11
    • 2016-09-10
    • 2018-09-09
    • 2017-03-17
    • 2015-01-24
    • 1970-01-01
    相关资源
    最近更新 更多