app.js
angular.module('capilleira.clickAndGambleMobile', [
'capilleira.clickAndGambleMobile.filters'
)]
filter.js
angular.module('capilleira.clickAndGambleMobile.filters', [])
.filter('sportsFiltered', function() {
return function(output) {
return alert('I AM THE FILTER');
}
});
what.html
<!--HERE IS THE NG-MODEL-->
<input type="text" ng-model="sportsFiltered">
<div ng-repeat="sport in sportsFilter = (sports | filter:sportsFiltered)">
{{sport.name}}
</div>
<div ng-repeat="league in sport.leagues | filter: {leagues: [{'name':sportsFiltered}]}}">
{{league.name}}
</div>
为什么这个过滤器没有做alert
?或者我该怎么做才能知道过滤器是否正常工作?
您错误地使用了过滤器,创建了整个过滤器,因此您应将其直接用作
sports | sportsFiltered
代替
sports | filter:sportsFiltered
当您使用(sports | filter:sportsFiltered)
它时,它被认为是可以设置的过滤器(内置过滤器)comparator
功能,它将仅在范围内运行该功能,并根据真实/虚假值决定是否显示该项目或不是。因此,最终它甚至不考虑您创建的实际过滤器。
{{filter_expression | 过滤器:表达式:比较器}}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句