当前位置:首页 > 日记 > 正文

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

详解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过滤器使用(自定义过滤器),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

相关文章

cdr绘制逼真的巧克力牛奶包装盒教

cdr绘制逼真的巧克力牛奶包装盒教

绘制,教程,牛奶,逼真,包装盒,效果图:主要过程:1、矩形工具绘制一个矩形,52MMX142MM的矩形,填充渐变,双击上下倾斜,如图2、同样用矩形工具绘制一个长30MM高度一样的矩形填充渐变,倾斜,如图3、用矩形绘制一个小条矩形放到拼接的位置,填充颜色,如图4、绘…

JS实现页面内跳转的简单代码

JS实现页面内跳转的简单代码

跳转,代码,简单,页面内,电脑软件,使用js($.ajax中)实现页面内跳转(即:描点平滑跳转)的方法(aa为跳转目的标签的id):在网络上有很多资料所说的:animate方法我试了并不好使,不知道是啥原因,欢迎大家指正,附上网络方法:var oneTop = $("#aa").offset()…

HTTP协议简介_动力节点Java学院整

HTTP协议简介_动力节点Java学院整

节点,学院,协议,动力,简介,TCP协议对应于传输层,而HTTP协议对应于应用层,从本质上来说,二者没有可比性。Http协议是建立在TCP协议基础之上的,当浏览器需要从服务器获取网页数据的时候,会发出一次Http请求。Http会通过TCP建立起一个到服务器的连…

ASP.NET中画图形验证码的实现代码

ASP.NET中画图形验证码的实现代码

验证码,画图形,代码,电脑软件,ASP,本文给大家分享一段asp.net代码实现画图形验证码功能,代码简单易懂,具体代码如下所示:context.Response.ContentType = "image/jpeg"; //生成随机的中文验证码 string yzm = "人口手大小多少上中下男…

Vue 滚动行为的具体使用方法

Vue 滚动行为的具体使用方法

使用方法,电脑软件,Vue,滚动行为使用前端路由,当切换到新路由时,想要页面滚到顶部,或者是保持原先的滚动位置,就像重新加载页面那样。 vue-router 能做到,而且更好,它让你可以自定义路由切换时页面如何滚动。注意: 这个功能只在 HTML5 history 模…

AngularJS实现页面定时刷新

AngularJS实现页面定时刷新

定时刷新,页面,电脑软件,AngularJS,有时我们在前端可能会有这样的需求:1、每隔一段时间刷新一下页面中的数据2、根据需要可以暂停和启用刷新接下来我们就来看下AngularJS的实现方法: 首先我们了解到AngularJS中$interval可以用来处理间歇性处…

Excel表格字符的LEFT函数如何应用

Excel表格字符的LEFT函数如何应用

字符,函数,函数应用,表格,电脑软件,  在Excel中使用比较长的字符串时,可能会遇到需要提取其中某一部分字符串的情况,这时我们就要用到截取字符串函数了。以下是小编为您带来的关于Excel表格字符的LEFT函数应用,希望对您有所帮助。Excel表格…

excel自动计算总分的方法excel怎么

excel自动计算总分的方法excel怎么

计算,方法,总分,电脑软件,excel,  Excel中经常需要使用到自动计算总分的 功能,自动计算具体该如何操作呢?下面是由小编分享的excel自动计算总分的方法,以供大家阅读和学习。excel自动计算总分的方法自动计算总分步骤1:选中要计算的数据,不同…

bash 中用于grep的正则表达式

bash 中用于grep的正则表达式

正则表达式,用于,电脑软件,bash,grep,正则表达式是一类用于匹配文本的表达方式,常用于grep命令中表达检索条件。其实就是相当于你在用百度搜索时规定一些高级要求,例如你想找百度一个叫做詹姆斯的人的照片,你会发现出来一大堆骑士队的詹姆斯,这…

photoshop复制粘贴文字的方法步骤

photoshop复制粘贴文字的方法步骤

方法,文字,复制粘贴,指定位置,步骤,  复制粘贴图片的方法其实就和外面复制粘贴文字差不多,但是很多同学还不太清楚。为此小编整理的一些关于photoshop复制粘贴文字的方法,供您参阅。photoshop复制粘贴文字的方法如图,看怎么用快捷键复制图层…

powerpoint如何设页码数

powerpoint如何设页码数

方法,设置,页码,电脑软件,powerpoint,  在制作幻灯片的时候,怎么在其中设置页码呢?一份好的PPT不仅可以吸引观众的眼球同时还可以反映自己的制作能力,下面小编就为你介绍powerpoint如何设置页码的方法啦,不懂的朋友会请多多学习哦。powerpoi…

excel表格内单元格加宽的方法excel

excel表格内单元格加宽的方法excel

方法,单元格,表格,电脑软件,excel,  Excel中经常需要使用到单元格加宽的功能,表格内的单元格具体该如何加宽呢?下面是小编带来的关于excel表格内单元格加宽的方法,希望阅读过后对你有所启发!excel表格内单元格加宽的方法单元格加宽步骤1:这…