Angularjs 使用选定项删除过滤器的一部分
我不熟悉Angularjs 使用选定项删除过滤器的一部分,angularjs,Angularjs,我不熟悉angularjs,我正在尝试筛选由数组填充的表 在表中:ng repeat=“exampleArray中的项|过滤器:查询” 查询由两个选项组成: <select ng-model="query.alpha" ng-options="item for item in alphas"> <option value="">All</option> </select> <select ng-model="query.bravo"
angularjs
,我正在尝试筛选由数组填充的表
在表中:ng repeat=“exampleArray中的项|过滤器:查询”
查询
由两个选项组成:
<select ng-model="query.alpha" ng-options="item for item in alphas">
<option value="">All</option>
</select>
<select ng-model="query.bravo" ng-options="item for item in bravos">
<option value="">All</option>
</select>
全部的
全部的
这一切都很好,除了每个select中的初始选项
,这意味着select不应该过滤数组
看起来这可能是null
而不是未定义的。我知道以下重置过滤器的方法:$scope.query={}代码>但这会重置每个过滤器,而不仅仅是一个过滤器
如何在不重置整个过滤器的情况下从一个选择中删除过滤器
过滤器需要了解query.alpha
和query.bravo
请看一下:
<tbody>
<tr ng-repeat="item in items = (exampleArray | filter: query.alpha | filter: query.bravo)">
<td>{{item.alpha}}</td>
<td>{{item.bravo}}</td>
<td>{{item.charlie}}</td>
</tr>
</tbody>
{{item.alpha}}
{{item.bravo}}
{{item.charlie}}
完整代码可从以下网址获得:
希望能有帮助
谢谢。这确实有点像PITA,现在可能有更好的解决方案
我对你的小提琴做了一些调整,向你展示了两种处理方法。我两个都不喜欢,但他们完成了任务
第一条路是这样的:
ng-change='query.bravo = query.bravo ? query.bravo : ""'
准确地说,将该指令添加到模板中的
这是第二种方法,这是使用手表,因此它比前一种方法更不受欢迎
$scope.$watch('query.alpha',function (newVal) {
if (newVal === null) {
$scope.query.alpha="";
}
});
在行动中:
我希望这能对您有所帮助。谢谢您的演示。这很简单,也很有效。谈论一对强有力的括号。