angularjs – 为什么我的自定义过滤器不起作用?

前端之家收集整理的这篇文章主要介绍了angularjs – 为什么我的自定义过滤器不起作用?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
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');

    }
  });

whatever.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>

为什么这个过滤器没有做警报?或者我该怎么做才能意识到过滤器是否正常工作?

解决方法

错误地使用了过滤器,您已经创建了一个完整的过滤器,因此您应该直接使用它

sports | sportsFiltered

代替

sports | filter:sportsFiltered

当你使用(sports | filter:sportsFiltered)它被认为是一个过滤器(内置过滤器)比较器功能,你可以设置它只会运行该功能(在范围内)并基于truthy / falsy值它将决定是否显示该项目.所以最终它甚至不考虑你创建的实际过滤器.

{{ filter_expression | filter : expression : comparator}}

@H_403_50@

猜你在找的Angularjs相关文章