angularjs过滤器

IEC104协议下的文件传输与软件升级的技术细节与操作流程 本文深入探讨IEC104协议下的文件传输过程和软件升级机制,揭示其背后的技术细节和操作流程。 阅读详情

在项目中时常会碰到这种情况,后台针对属性的设置,有一些需要设置为枚举类型的,而此时我们前端接收到后台response之后需要对这个枚举类型的数据进行再次加工,改成我们需要的显示方式。比如我的系统中存在三种角色,Employee,Guest,Administrator。查看用户信息的时候如果这是针对的这条属性值显示为枚举类型,显然是不友好的。所以需要前端进行数据二次加工。那么angularjs作为一个优秀的前端框架,是怎么实现这个功能的呢?

1.angularjs过滤器

angular过滤器提供了一种filter的方式来配置你想要的filter功能,通过一种类似管道的功能来实现filter解析,返回你所要定义的格式数据。angularjs除了自定义的过滤器外还提供了支持用户自定义过滤器的方式。

1.1 angualrjs自定义过滤器

自定义过滤器包含,时间格式化,josn格式化处理,大小写处理,排序处理,number处理等九中内置的过滤器:

  • currency (货币处理)

  使用currency可以将数字格式化为货币,默认是美元符号,你可以自己传入所需的符号,

人民币:{{num | currency : '¥'}}

  • date (日期格式化)

  原生的js对日期的格式化能力有限,ng提供的date过滤器基本可以满足一般的格式化要求。

用法如下:{{date | date : 'yyyy-MM-dd hh:mm:ss'}} 参数用来指定所要的格式

  • filter(匹配子串)

  这个名叫filter的filter用来处理一个数组,然后可以过滤出含有某个子串 的元素,作为一个子数组来返回。

可以是字符串数组,也可以是对象数组。如果是对象数组,可以匹配属性的值。它接收一个参数,

用来定义子串的匹配规则。下面 举个例子说明一下参数的用法,我用现在特别火的几个孩子定义了一个数组:

 

$scope.childrenArray = [
{name:'kimi',age:3},
{name:'cindy',age:4},
{name:'anglar',age:4},
{name:'shitou',age:6},
{name:'tiantian',age:5}
];
$scope.func = function(e){return e.age>4;}
 

{{ childrenArray | filter : 'a' }} //匹配属性值中含有a的
{{ childrenArray | filter : 4 }} //匹配属性值中含有4的
{{ childrenArray | filter : {name : 'i'} }} //参数是对象,匹配name属性中含有i的
{{childrenArray | filter : func }} //参数是函数,指定返回age>4的




  • json(格式化json对象)

  json过滤器可以把一个js对象格式化为json字符串,没有参数。这东西有什么用呢,

我一般也不会在页面上输出一个json串啊,官网说它 可以用来进行调试,嗯,是个不错的选择。

或者,也可以用在js中使用,作用就和我们熟悉的JSON.stringify()一样。用法超级简单:

{{ jsonTest | json}}

  • limitTo(限制数组长度或字符串长度)

  limitTo过滤器用来截取数组或字符串,接收一个参数用来指定截取的长度,如果参数是负值,

则从数组尾部开始截取。{{ childrenArray | limitTo : 2 }} //将会显示数组中的前两项

  • lowercase(小写)

  把数据转化为全部小写

  7. uppercase(大写)

  同上。

  • number(格式化数字)

  number过滤器可以为一个数字加上千位分割,像这样,123,456,789。同时接收一个参数,

可以指定float类型保留几位小数:{{ num | number : 2 }}

  • orderBy(排序)

  orderBy过滤器可以将一个数组中的元素进行排序,接收一个参数来指定排序规则,参数可以是一个字符串,

表示以该属性名称进行排序。

可以是 一个函数,定义排序属性。还可以是一个数组,表示依次按数组中的属性值进行排序

(若按第一项比较的值相等,再按第二项比较),

还是拿上面的孩子数组举例:

<div>{{ childrenArray | orderBy : 'age' }}</div> //按age属性值进行排序,若是-age,则倒序
<div>{{ childrenArray | orderBy : orderFunc }}</div> //按照函数的返回值进行排序
<div>{{ childrenArray | orderBy : ['age','name'] }}</div> //如果age相同,按照name进行排序

1.2 自定义过滤器

上面提到了angualrjs提供的内置过滤器,下面我们来说说自定义过滤器怎么实现。如果你看过前面的国际化
你可能就会发现,国际化的定义方式在使用上跟filter是惊人的相似,那么这两个有什么联系呢?对,其实前面说到的
国际化也是依赖于后者说基于filter来实现的,都是通过$translate来实现。
angualrjs提供了一种叫做filter的配置来实现过滤器:




angular.module('user.management', [])
    .filter("userRoleFilter", ["$translate",function($translate) {
        var filterfun = function(value) {
            switch (value) {
                case "1":
                    return $translate.instant("Administrator");
                    break;
                case "2":
                    return $translate.instant("Employee");
                    break;
                case "3":
                    return $translate.instant("Guest");
                    break;
            }
        };
        return filterfun;
    }])




在上面我们定义了一个userRoleFilter的过滤器,将值转为其他数据格式,在这里我们依然需要引入translate相关的js文件。
Html的使用
<span>{{item.state|userRoleFilter}}</span>
angualrjs的过滤器还是比较好理解,比较容易使用的。



AngularJS中的过滤器——深入解析和示例 过滤器AngularJS中用于转换和过滤数据的函数。它们可以应用于表达式、指令和绑定中,以实现对数据的处理和展示。过滤器可以在视图层中对数据进行格式化、排序、过滤等操作,从而使数据呈现更加符合需求和美观。除了内置过滤器AngularJS还允许我们创建自定义过滤器,以满足特定的业务需求。});在上面的代码中,我们创建了一个名为reverse的过滤器,它将传入的字符串反转并返回。要在模板中使用自定义过滤器,我们可以像下面这样使用它: 阅读详情

相关推荐

AngularJS过滤器使用详解

在本文中,我们提供了创建和使用AngularJS过滤器的详细说明,并给出了相应的源代码示例。在本文中,我们将详细介绍AngularJS过滤器使用,并提供相应的源代码示例。在上面的例子中,我们定义了一个名为"prefix"的过滤器,它接收两个参数:输入值(input)和前缀文本(prefixText)。过滤器函数接收一个名为"input"的参数,并在函数体内对其进行处理,最后返回转换后的结果。将"name"变量作为输入值传递给"prefix"过滤器,并将字符串"Hello"作为前缀文本传递给过滤器

CodeWhizZ的博客 465

AngularJS过滤器filter

NULL 博文链接:https://bijian1013.iteye.com/blog/2391821

基于matlab的CNN物体识别物体分类系统

主要对物体进行识别,搭建一个物体分类系统本次实验选择规模稍大的 CIFAR-10 数据集进行分类识别,对应图像的大小设计 VggNet、ResNet 进行网络训练。在实际操作过程中,受限于数据规模和硬件配置,对于大小放缩、批次参数、训练步数等进行了多次调试,这也对以后的图像分类任务具有较高的参考意义,并通过对 CIFAR-10 数据集进行训练和评测,采用网络修改的方式来得到新的 CNN 结构,适用于对网络进行配置、融合等相关研究。读者可以通过自行设计或选择其他网络、加载其他数据等方式进行实验的延伸。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 1967

AngularJS处理和转换视图中数据的重要工具:过滤器

过滤器AngularJS 中用于处理视图数据的函数。它们可以接受一个输入值(通常是表达式结果),并返回一个经过处理后的输出值。通过在模板中使用管道符,我们可以在数据绑定和表达式中应用过滤器。例如,下面的代码演示了如何使用内置的uppercase{{ 'hello world' | uppercase }} // 输出结果:HELLO WORLD在上述代码中,uppercase就是一个过滤器,它将字符串转换为大写形式并显示在模板中。除了内置过滤器,我们还可以自定义过滤器来处理特定的需求。

网络技术联盟站 548

AngularJS 过滤器 (详解)

一、简介   AngularJS过滤器能够用来格式化数据,过滤器能够用在表达式和指令中,也能够注入到其他地方进行使用AngularJS提供了9种常用的内置过滤器,我们还可以创建自定义过滤器来格式数据,以完成更多个性化的要求。 二、使用方式   下面是过滤器的三种使用方式,形式如下。 1、在表达式中使用 {{ text | uppercase }} //将字符串text大写输出

js_admin的博客 1720

AngularJS 过滤器

本篇文章参考自AngularJS基础教程。 1.简介  AngularJS过滤器能够用来格式化数据,过滤器能够用在表达式和指令中,也能够注入到其他地方进行使用AngularJS提供了9种常用的内置过滤器,我们还可以创建自定义过滤器来格式数据,以完成更多个性化的要求。2.使用方式  下面是过滤器的三种使用方式,形式如下。 在表达式中使用 {{ text | uppercase }} //将字符串te

刚出生的程序猿 2778

AngularJS 过滤器,9个内置过滤器

过滤器:{{数据|过滤器:参数}} 格式化展示数据。  "|"相当于管道,可以通过多个"|"来同时使用多个过滤器。  ":"表示参数,多个冒号多个参数。   demo.html:&lt;!DOCTYPE html&gt; &lt;html lang="en"&gt; &lt;head&gt; &lt;meta charset="UTF-8"&g

houyanhua1的专栏 408

AngularJS 过滤器

过滤器可以使用一个管道字符(|)添加到表达式和指令中。过滤器可用于转换数据。 1 常用过滤器 过滤器 描述 currency 格式化数字为货币格式。 filter 从数组项中选择一个子集。 lowercase 格式化字符串为小写。 orderBy 根据某个表达式排列数组。 uppercase 格式化字符串为大写。 2 表达式中添加过滤器 可以通过一个管道字...

书香水墨 217

angularJs 过滤器

一.AngularJs内置过滤器 1.currency:将一个数值格式化为货币格式. 1 <h1>{{12.9|currency}}</h1> 2 <!--自定义--> 3 <h1>{{12.9...

weixin_45861144的博客 146

Angularjs过滤器使用小结

10.5. AngularJS 过滤器   过滤器可以使用一个管道字符(|)添加到表达式和指令中       AngularJS 过滤器可用于转换数据: 10.5.1. currency  格式化数字为货币格式。  数量: 价格: 总价 = {{ (quantity * price) | currency }}   var app = angular.module('my

信念堤岸 1062

AngularJS过滤器总结

var app = angular.module("myapp",[]);            ////////////自定义过滤器             app.filter("demof",function(){                 return function(input){                     //首字母大写

yukaihuaboke的博客 230

AngularJS的内置过滤器

内置过滤器使用方法: 一个过滤器带参数的情况{{expression | filter}} 一个过滤器,带参数的情况{{expression | filter:arguments}} 一个过滤器,带多个参数的情况{{expression | filter: arg1: arg2: ...}} 多个过滤器带参数的情况{{expression | filter1 | filt...

200

AngularJS过滤器介绍

<!--与过滤器共舞 1.1 AngularJS过滤器介绍 AngularJS过滤器用于处理数据以及将数据格式化后呈现给用户。可以通过HTML中的表达式来使用他们,也可以直接作用于控制器或服务中的数据。 大部分情况下,过滤器处于数据传递链上的最后一环,将数据转换为用户熟悉的格式。最常见...

chenggou9601的博客 319

angularjs 实例_AngularJS过滤器示例教程

angularjs 实例We looked at View Model, View and Controller concepts in the previous post. Now we are going to discuss about the AngularJS Filters. 我们在看着视图模型 , 视图和控制器概念以前的职位。 现在我们将讨论AngularJS 过滤器 。 内容 ...

从零开始的教程世界 288

angularJS中filter(过滤器)的使用

filter时angular开发经常接触的一个内容,今天在wiki中做一个补全,说一下filter的使用 首先,filter分为angularJS中封装好的filter和自定义filter 自定义的filter包括以下: 1.currency(货币处理),默认是美元符号 {{num | currency : '¥'}} 2.date(日期格式化) {{date

Coder.SirLoin的博客 4043

angularjs过滤器filter

过滤器可以直接定义在全局使用 示例代码: //定义一个叫myFilter的过滤器 //input是被过滤的数组/对象等 module.filter('myFilter',function(){ return function(input,keyword){ return input.filter(x=>{ return x.isEnabled && x.Name.indexOf(keyword)>=0 }) } }) module.controller('MyC

woflyoycm的博客 408

智慧法院云平台建设方案.rar

智慧法院云平台建设方案

上一篇: angularjs实现国际化
下一篇: angularjs数据共享
逆风飞翔的猿
博客等级 码龄12年 107粉丝 158原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值