加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-17 17:24:49 所属栏目:安全 来源:网络整理
导读:app.js angular.module('capilleira.clickAndGambleMobile',[ 'capilleira.clickAndGambleMobile.filters')] filter.js angular.module('capilleira.clickAndGambleMobile.filters',[]) .filter('sportsFiltered',function() { return function(output) { re
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}}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读