Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >第219天:Angular---过滤器

第219天:Angular---过滤器

作者头像
半指温柔乐
发布于 2018-09-11 01:33:08
发布于 2018-09-11 01:33:08
1.1K00
代码可运行
举报
文章被收录于专栏:前端知识分享前端知识分享
运行总次数:0
代码可运行

 在Angular中,过滤器的功能主要是格式化数据表达式,且可以自定义过滤器。作用域(scope)主要服务于页面模板,在控制器和页面中起桥梁作用,保存模板中的数据对象,为模板中的元素提供方法和属性。

一、过滤器的表现形式

在angular中有三种变现形式,通过管道字符 “  |  ”,与需要处理的代码进行连接,看代码:

1、单个过滤器,如:{{表达式 | 过滤器名}}

货币过滤器     {{8.88 | currency}}  // $8.88

2、多个过滤器,如:{{表达式 | 过滤器名1 | 过滤器名2 | ...}}

   {{8.88 | currency | filter | ...}}

3、带参数过滤器,如:{{表达式 | 过滤器名1 : 参数1 : 参数2 : ...}}

   {{8.88 | number : 1}}

二、angular中自带的九种过滤器

1、currency格式化数字为货币格式。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
1  {{  8.88 | currency  }}//  默认为$8.88
2 
3  {{  8.88 | currency  : "¥"}} // ¥8.88

2、lowercase过滤器将字符串格式化为小写

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
1 姓名为{{ lastName | lowercase }} // zhang    $scope.lastName="ZHANG"

3、uppercase过滤器将字符串格式化为大写

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{{ lastName | uppercase }} // ZHANG    $scope.lastName="zhang"

4、orderBy过滤器根据表达式排列数组

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 1 // 根据id降序排序
 2 
 3 {{[{"age":20,"id":10,"name":"iphone"},
 4 
 5 {"age":12,"id":11,"name":"sunm xing"},
 6 
 7 {"age":44,"id":12,"name":"test abc"}]
 8 
 9 |   orderBy:'id':true}}
10 
11 // 根据id升序排序
12 
13 {{[{"age":20,"id":10,"name":"iphone"},
14 
15 {"age":12,"id":11,"name":"sunm xing"},
16 
17 {"age":44,"id":12,"name":"test abc"}]
18 
19 |   orderBy:'id'}}

5、filter查找

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
1 // 查找name为iphone的行
2 
3 {{[{"age":20,"id":10,"name":"iphone"},
4 
5 {"age":12,"id":11,"name":"sunm xing"},
6 
7 {"age":44,"id":12,"name":"test abc"}]
8 
9 |filter:{'name':'iphone'}}}//输出的话就是{"age":20,"id":10,"name":"iphone"}

6、limitTo 截取

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
1 {{"1234567890"|limitTo:6}}// 从前面开始截取6位
2 
3 {{"1234567890"|limitTo:-4}}// 从后面开始截取4位

7、date 时间格式化

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
1 {{1490161945000 | date:"yyyy-MM-dd HH:mm:ss" }}// 2017-03-22 13:52:25

8、number 格式化(保留小数)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
1 {{149016.1945000|number:2}}   //149016.19

9、 json   (格式化json对象)

json过滤器可以把一个js对象格式化为json字符串,没有参数。这东西有什么用呢,我一般也不会在页面上输出一个json串啊,官网说它 可以用来进行调试,嗯,是个不错的选择。或者,也可以用在js中使用,作用就和我们熟悉的JSON.stringify()一样。用法超级简单:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
1 {{ jsonTest | json}}

三、angular自定义过滤器

方法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
1 app.filter('name', function() {
2 
3         return function(input, char) {
4 
5              return  自定义你的过滤器
6 
7       }
8 
9 }
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 1 app.filter('capitalize', function() {
 2 
 3       //input 需要过滤的元素
 4 
 5       //char位置,索引减一
 6 
 7        return function(input, char) {
 8 
 9          if(isNaN(input)) {
10 
11                   //如果序号位置没有设置,索引位置默认是0
12 
13                    var char = char - 1 || 0;
14 
15                    //把过滤元素索引位置上的字母转换成大写
16 
17                    var letter = input.charAt(char).toUpperCase();
18 
19                    var out = [];
20 
21                    for(var i = 0; i < input.length; i++) {
22 
23                       if(i == char) {
24 
25                            out.push(letter);
26 
27                       } else {
28 
29                               out.push(input[i]);
30 
31                         }
32 
33                    }
34 
35                         return out.join('');
36 
37                       } else {
38 
39                            return input;
40 
41                         }
42 
43                   }
44 
45 });
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-04-18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
4-进军 angular1.x 控制器和过滤器
控制器是 JavaScript 对象,由标准的 JavaScript 对象的构造函数 创建。
西南_张家辉
2021/02/02
2.2K0
AngularJS系列(三)——过滤器(filder)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
逝兮诚
2019/10/30
5330
angularjs学习第三天笔记(过滤器第二篇---filter过滤器及其自定义过滤器)
您好,我是一名后端开发工程师,由于工作需要,现在系统的从0开始学习前端js框架之angular,每天把学习的一些心得分享出来,如果有什么说的不对的地方,请多多指正,多多包涵我这个前端菜鸟,欢迎大家的点评与赐教。谢谢!
小小许
2018/08/30
1.4K0
angularjs学习第三天笔记(过滤器第二篇---filter过滤器及其自定义过滤器)
[angularjs] angularjs系列笔记(四)过滤器
过滤器可以使用一个管道字符(|)添加到表达式和指令中,这不就是模板函数吗 <body> <div ng-app="Home"> <div ng-controller="Index"> 格式化字符串为小写 {{myName()|lowercase}}。 格式化字符串为大写 {{myName()|uppercase}}。 格式化数字为货币格式 {{price|currency}}。
唯一Chat
2019/09/10
5230
angularjs filter详解
过滤器(filter)正如其名,作用就是接收一个输入,通过某个规则进行处理,然后返回处理后的结果。 主要用在数据的格式化上,例如获取一个数组中的子集,对数组中的元素进行排序等。 ng内置了一些过滤器,它们是:currency(货币)、date(日期)、filter(子串匹配)、json(格式化json对象)、limitTo(限制个数)、lowercase(小写)、uppercase(大写)、number(数字)、orderBy(排序)。总共九种。 除此之外还可以自定义过滤器,这个就强大了,可以满足任何要求的
柴小智
2018/04/10
1.9K0
angular的内置过滤器
  ng内置了九种过滤器,使用方法都非常简单,看文档即懂。不过为了以后不去翻它的文档,还是做一个详细的记录。
kl博主
2023/11/17
3130
Angular.js学习笔记(三)
1、uppercase,lowercase 大小写转换 {{ "lower cap string" | uppercase }} // 结果:LOWER CAP STRING {{ "TANK is GOOD" | lowercase }} // 结果:tank is good 2、date 格式化 {{1490161945000 | date:"yyyy-MM-dd HH:mm:ss"}} // 2017-03-22 13:52:25 3、number 格式化(保留小数) {{149016.1945000 | number:2}}//保留两位 {{149016.1945000 | number}}//默认为保留3位 4、currency货币格式化 {{ 250 | currency }} // 结果:$250.00 {{ 250 | currency:"RMB ¥ " }} // 结果:RMB ¥ 250.00 5、filter查找 输入过滤器可以通过一个管道字符(|)和一个过滤器添加到指令中,该过滤器后跟一个冒号和一个模型名称。 filter 过滤器从数组中选择一个子集 // 查找name为iphone的行 {{ [{"age": 20,"id": 10,"name": "iphone"}, {"age": 12,"id": 11,"name": "sunm xing"}, {"age": 44,"id": 12,"name": "test abc"} ] | filter:{'name':'iphone'} }} 同时filter可以自定义比较函数。 6、limitTo 截取 {{"1234567890" | limitTo :6}} // 从前面开始截取6位 {{"1234567890" | limitTo :6,6}} // 从第6位开始截取6位 {{"1234567890" | limitTo:-4}} // 从后面开始截取4位 7、orderBy 排序 // 根据id降序排 {{ [{"age": 20,"id": 10,"name": "iphone"}, {"age": 12,"id": 11,"name": "sunm xing"}, {"age": 44,"id": 12,"name": "test abc"} ] | orderBy:'id':true }}
HUC思梦
2020/09/03
8.6K0
vue过滤器
Vue.js中的过滤器使用管道符(|)将数据传递给过滤器函数,并将处理后的结果返回给模板。它们可以在模板中的插值表达式、指令和绑定等位置使用。
堕落飞鸟
2023/05/21
4670
AngularJS处理和转换视图中数据的重要工具:过滤器
AngularJS 是一个功能强大的 JavaScript 前端框架,它提供了丰富的内置过滤器,用于处理和转换视图中的数据。过滤器是 AngularJS 的核心特性之一,它可以帮助我们在模板中对数据进行排序、过滤、格式化等操作,从而更好地满足用户需求。本文将详细介绍 AngularJS 过滤器的概念、特性和用法,并提供一些示例来帮助读者更好地理解和应用。
网络技术联盟站
2023/07/05
5510
Vue案例引发的「过滤器」的使用
最近在项目的开发中,出现一些格式化数据的情况,比如字母的大小写,比如一些价格的数据格式。等等一些格式的显示。
六小登登
2019/03/19
6430
angularjs学习第二天笔记---过滤器
 您好,我是一名后端开发工程师,由于工作需要,现在系统的从0开始学习前端js框架之angular,每天把学习的一些心得分享出来,如果有什么说的不对的地方,请多多指正,多多包涵我这个前端菜鸟,欢迎大家的点评与赐教。谢谢!
小小许
2018/08/30
1.4K0
angularjs学习第二天笔记---过滤器
Vue过滤器
过滤器主要用在插值表达式({{ }})或v-bind中,在数据即将渲染时进行一些操作,如时间格式化。
切图仔
2022/09/08
4360
Vue过滤器
5-进军 angular1.x 服务
在 AngularJS 中,服务是一个函数或对象,可在你的 AngularJS 应用中使用。
西南_张家辉
2021/02/02
1.1K0
【Vue2】关于过滤器以及计算和监听属性的理解
计算属性是一个 function,这个 function 的返回值就是计算属性最终的值。
且陶陶
2023/04/12
4950
【AngularJS】 # AngularJS入门
ng-app 指令定义一个 AngularJS 应用程序。 若不声明,将直接显示表达式。
全栈程序员站长
2022/09/15
25.3K0
【AngularJS】 # AngularJS入门
vue 内置过滤器总结(附加自定义过滤器)
vue中过滤器filters的作用是什么? 能够帮我们处理快速一些数据的格式----format数据格式化处理。 语法也很简单
Javanx
2019/09/04
1.7K0
vue 内置过滤器总结(附加自定义过滤器)
Angular核心概念:过滤器
Filter:过滤器,用于View中呈现数据时显示为另一种格式,过滤器的本质是一个函数接收原始数据转换为新的格式进行输出:function(oldVal){处理…return newVal} 使用过滤器:{{e.salary | 过滤器名}} Angular2.x中,过滤器更名为“管道(Pipe)”
用户9857551
2022/06/28
1.4K0
Angular核心概念:过滤器
Vue常用特性-过滤器和生命周期
1.过滤器 1.1过滤器的作用是什么? 格式化数据,比如将字符串格式化为首字母大写,将日期格式化为指定的格式等 1.2自定义过滤器 1.3过滤器的使用 1.4局部过滤器 1.5带参数的过滤器 1.6过
梨涡浅笑
2020/12/02
8260
Vue常用特性-过滤器和生命周期
03 . Vue基础之计算属性,过滤器
vue计算属性 /* 复杂逻辑,模板难以维护 1. 基础例子 2. 计算缓存 VS methods - 计算属性是基于他们的依赖进行缓存的. - 计算属性只
iginkgo18
2020/11/24
1.9K0
03 . Vue基础之计算属性,过滤器
8-angular 要点温习-1
angualr 要点温习 1、一些 ng 指令 ng-disabled true|false ,规定一个元素是否被禁止,但不会为隐藏 ng-keydown/ng-keypress/ng-keyup ng-mousedown/ng-seenter 鼠标穿过 2、一些 angular 内置方法/类比 jq angular.lowercase() angular.uppercase() angular.copy() 深克隆 angular.forEach() 类比 forEach var objs = [
西南_张家辉
2021/02/02
3.8K0
相关推荐
4-进军 angular1.x 控制器和过滤器
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验