Javascript 如何使角度空过滤器匹配未定义和空值?
我在键入筛选器并将其删除时发现了一个问题,该集合一直被筛选,并且没有显示筛选项中具有未定义或空值的项 示例代码:Javascript 如何使角度空过滤器匹配未定义和空值?,javascript,angularjs,angular-filters,Javascript,Angularjs,Angular Filters,我在键入筛选器并将其删除时发现了一个问题,该集合一直被筛选,并且没有显示筛选项中具有未定义或空值的项 示例代码: <div ng-app="App" ng-controller="AppController as app"> <p> Filters </p> Name: <input ng-model="listFilters.name" type="text"/> <br/> Short Description
<div ng-app="App" ng-controller="AppController as app">
<p>
Filters
</p>
Name: <input ng-model="listFilters.name" type="text"/>
<br/>
Short Description: <input ng-model="listFilters.shortDescription" type="text"/>
<ul>
<li ng-repeat="person in app.persons | filter:{name: listFilters.name, shortDescription: listFilters.shortDescription}">
<p>{{person.name}}</p>
</li>
</ul>
</div>
工作小提琴:
了解我正在谈论的问题的步骤:
集合| filter:filter.var
不满足此目的
这与仅显示非空值的筛选也不相同,更接近于相反的情况…将您的li html更新为如下内容:
<li ng-repeat="person in app.persons | filter:listFilters.name">
以下是更新的小提琴:
ng model=“listFilters.shortDescription”
无法绑定到属性李>
可能的重复我看不到任何重复,它更多的是一个相反的功能,我不想过滤!!或者是!null我想根据文本输入中的值进行过滤,当它被删除时,我不想进行任何过滤。所以我需要过滤器对'undefined',null和''(空字符串)进行同等的求值。是的,我知道,我甚至在我的描述中澄清了这一点:它是通过“空字符串”进行过滤的。我希望“”(空)筛选器不执行任何筛选器。所以我得到了一个元素,它的shortDescription值为'undefined',而null值为。只在所有项目上添加属性比创建自定义筛选器更容易,尽管您可以创建自定义筛选器这不是什么大问题。我可以创建一个示例。我想知道是否有一种方法可以做到这一点,而无需编写筛选器,也无需将字段作为空字符串添加,只需使用角度技巧或我不知道的功能,但我想没有。哇,这是对功能的一点重建。。。我按person元素中的元素进行过滤,我确实希望保留该功能,我不能使用常规的
集合|过滤器:some.filter
<li ng-repeat="person in app.persons | filter:listFilters.name">