栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使角度过滤器成为条件

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使角度过滤器成为条件

如果将过滤器表达式设置为

''
(或
undefined
)(这会导致不应用过滤器)(
disableFilter
设置您的时间),否则将其设置为实际过滤器表达式,则可以实现此目的。

编辑2
:另一个答案(@Ryan下面)更简单易懂。现在不记得它最初是否对我不起作用,或者我只是没有想到这种简单的方法。

因此,假设此切换变量

disableFilter
--是布尔值:

<a ng-repeat="set in data | filter: (!disableFilter || '') && filterexpression">

(可以

filterexpression
是您要过滤的任何表达式)。您的具体情况是:

<a ng-repeat="set in data | filter: (!disableFilter || '') && {value: search}">

编辑:

解释上面的工作原理。

  1. 记住这一点,
    ||
    &&
    返回其操作数之一的值。
  2. ||
    &&
    使用短路评估-
    true || (anything)
    收益
    true
    false && (anything)
    返回
    false
    -不评估
    (anything)
    表达式。
  3. ''
    是虚假的(或者
    undefined
    ,如果更清楚,请改用)

所以,

disableFilter === true
,时
!disableFilter ===false
,则对第二个操作数
||
-空字符串
''
-进行求值(是虚假的),并
(!disableFilter ||'')
返回
''
-虚假的值,该值会使
&&
操作短路,并且不对的第二个操作数求值
&&
。因此,表达式的返回值为
''

disableFilter === false
!disableFilter ===true
短路
||
操作时,将
&&
评估并返回的第二个操作数。因此,表达式的返回值为
{value: search}

在此处阅读有关逻辑运算符的更多信息



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/382924.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号