全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

详解AngularJS中$filter过滤器使用(自定义过滤器)

1.内置过滤器

* $filter 过滤器,是angularJs中用来处理数据以更好的方式展示给我用户。比如格式化日期,转换大小写等等。
* 过滤器即有内置过滤器也支持自定义过滤器。内置过滤器很多,可以百度。关键是如何使用:
* 1.在HTML中直接使用内置过滤器
* 2.在js代码中使用内置过滤器
* 3.自定义过滤器
*
* (1)常用内置过滤器
*    number 数字过滤器,可以设置保留数字小数点后几位等
*    date  时间格式化过滤器,可自己设置时间格式
*    filter 过滤的数据一般是数组,数组中的数据可以是对象,字符串等
*    orderBy 排序根据数组中某一个元素的属性排序等
*    lowercase 转换小写
*    uppercase 转换大写
*    limitTo  字符串剪切 使用格式{{被剪切的字符串|limitTo:数值}} 数值绝对值代表要切得字符个数,正代表从头开始切,负值相反。
*
* */

2.自定义过滤器

/*
* 定义格式:
* 模块名称.filter(‘过滤器名字',function(){
*    return function(被过滤数据,条件1,条件2.。。。){
*    //过滤操作
*    }
* });
* */

    套用上面的格式定义两个简单的自定义过滤器一个带条件的,一个不带条件的。

(1)【不带条件】,功能:固定转换(有时候项目中会遇到角色代号,门店编码什么的,但是显示的时候要显示对应中文,比如字段code:101代表老板

    这时候像这种code值比较多,那就用过滤器比较好。)

myApp.filter("ChangeCode",function () {
  return function (inputData) {
    var changed = "";
    switch (inputData){
      case '101':changed = "老板";break;
      case '102':changed = "经理";break;
      case '103':changed = "员工";break;
    }
    return changed;
  }
});
/*完成,说一下使用场景(就这个过滤器的功能)和方式。
* 场景:服务器返回的数据中有个字段code,直接放标签里<div>{{data.code}}</div>,会显示code值而不是code值对应的职称,这时候就可以用这个专门
*    针对这个转换的自定义过滤器
* 使用方式:
*      (1)HTML中:<div>{{data.code | ChangeCode}}</div>//跟内置过滤器一样的方式
*      (2)js中:变量 = $filter("ChangeCode")(被过滤的code数据)//一样的调用方式
*      
* */

(2)【带条件】,功能过滤掉一组数组中某个字段值为某个值的数据,比如这里定义一个过滤掉所有年龄为某个值的过滤器。参数就是年龄

myApp.filter("deleteByAge",function () {
  return function (input,byAge,age) {
    var array = [];
    for(var i=0;i<input.length;i++){
      if(input[i][byAge]!=age){
        array.push(input[i]);
      }
    }
    return array;
  }
})
/*
* 处理一组数据的时候一般很少用在HTML当中,带条件的自定义过滤器是根据年龄值,也可以根据数组元素中的任意一个属性值进行删除过滤。
* 使用方式:变量 = $filter("deleteByAge")(数组,“属性名称”,属性值);
* */

【总结内置过滤器的使用方式】

 (1)在HTML中一般格式为:  {{被过滤的数据 | 过滤器名称:条件1:条件2.。。。}}    ;过滤条件之间用‘:'隔开.

 (2)在代码中一般格式为:  变量 = $filter("过滤器名称")(被过滤数据,过滤条件1,过滤条件2,。。。。。。)

【自定义过滤器】

 (1)定义格式:   

    model.filter(filterName,function(){
       return function(参数1,参数2,参数3.。。。。参数N){
         //过滤器处理部分
        }
      })

      model:模块名称

      filterName: 过滤器名称

      参数1:被过滤的数据

      参数2:一般为过滤条件,可以有多个,后面的参数3一直到参数N都是,根据需要添加。

以上所述是小编给大家介绍的详解AngularJS中$filter过滤器使用(自定义过滤器),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# angularjs  # filter使用  # filter过滤器的使用  # 详解AngularJS中自定义过滤器  # AngularJS使用Filter自定义过滤器控制ng-repeat去除重复功能示例  # AngularJS 自定义过滤器详解及实例代码  # AngularJS自定义过滤器用法经典实例总结  # Angularjs 依赖压缩及自定义过滤器写法  # angularJs自定义过滤器实现手机号信息隐藏的方法  # AngularJS实现的自定义过滤器简单示例  # 简述angular自定义过滤器在页面和控制器中的使用  # Angular.Js中过滤器filter与自定义过滤器filter实例详解  # 详解Angular的内置过滤器和自定义过滤器【推荐】  # angularjs自定义过滤器demo示例  # 自定义  # 组中  # 不带  # 小编  # 格式为  # 都是  # 这时候  # 过滤掉  # 给我  # 有个  # 那就  # 多个  # 在此  # 可以用  # 给大家  # 比较好  # 几位  # 用过  # 可以根据  # 比较多 


相关文章: 建站之星安装提示数据库无法连接如何解决?  Bpmn 2.0的XML文件怎么画流程图  韩国服务器如何优化跨境访问实现高效连接?  建站之星微信建站一键生成小程序+多端营销系统  视频网站制作教程,怎么样制作优酷网的小视频?  如何选择PHP开源工具快速搭建网站?  如何用PHP工具快速搭建高效网站?  长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?  网站代码制作软件有哪些,如何生成自己网站的代码?  如何高效完成独享虚拟主机建站?  购物网站制作公司有哪些,哪个购物网站比较好?  如何在Windows服务器上快速搭建网站?  高端云建站费用究竟需要多少预算?  ,网站推广常用方法?  建站之星后台密码遗忘或太弱?如何重置与强化?  如何通过云梦建站系统实现SEO快速优化?  天津个人网站制作公司,天津网约车驾驶员从业资格证官网?  百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?  西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?  制作网站的模板软件,网站怎么建设?  弹幕视频网站制作教程下载,弹幕视频网站是什么意思?  建站之星安装需要哪些步骤及注意事项?  如何选择香港主机高效搭建外贸独立站?  高端智能建站公司优选:品牌定制与SEO优化一站式服务  大连网站制作公司哪家好一点,大连买房网站哪个好?  导航网站建站方案与优化指南:一站式高效搭建技巧解析  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递  如何挑选优质建站一级代理提升网站排名?  C#如何使用XPathNavigator高效查询XML  建站主机无法访问?如何排查域名与服务器问题  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  建站之星客服服务时间及联系方式如何?  建站之星如何一键生成手机站?  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  公司网站设计制作厂家,怎么创建自己的一个网站?  如何在阿里云高效完成企业建站全流程?  东莞专业制作网站的公司,东莞大学生网的网址是什么?  建站之星后台密码如何安全设置与找回?  制作企业网站建设方案,怎样建设一个公司网站?  C#怎么使用委托和事件 C# delegate与event编程方法  实惠建站价格推荐:2025年高性价比自助建站套餐解析  建站三合一如何选?哪家性价比更高?  图册素材网站设计制作软件,图册的导出方式有几种?  建站之家VIP精选网站模板与SEO优化教程整合指南  如何快速搭建FTP站点实现文件共享?  如何在腾讯云免费申请建站?  如何快速生成橙子建站落地页链接?  建站之星安装步骤有哪些常见问题?  电脑免费海报制作网站推荐,招聘海报哪个网站多? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。