第219天:Angular---过滤器
在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格式化数字为货币格式。
  {{  8.88 | currency  }}//  默认为$8.88
  {{  8.88 | currency  : "¥"}} // ¥8.88
2、lowercase过滤器将字符串格式化为小写
 姓名为{{ lastName | lowercase }} // zhang    $scope.lastName="ZHANG"
3、uppercase过滤器将字符串格式化为大写
{{ lastName | uppercase }} // ZHANG    $scope.lastName="zhang"
4、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}}
 // 根据id升序排序
 {{[{"age":20,"id":10,"name":"iphone"},
 {"age":12,"id":11,"name":"sunm xing"},
 {"age":44,"id":12,"name":"test abc"}]
 |   orderBy:'id'}}
5、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'}}}//输出的话就是{"age":20,"id":10,"name":"iphone"}
6、limitTo 截取
 {{"1234567890"|limitTo:6}}// 从前面开始截取6位
 {{"1234567890"|limitTo:-4}}// 从后面开始截取4位
7、date 时间格式化
 {{1490161945000 | date:"yyyy-MM-dd HH:mm:ss" }}// 2017-03-22 13:52:25
8、number 格式化(保留小数)
 {{149016.1945000|number:2}}   //149016.19
9、 json (格式化json对象)
json过滤器可以把一个js对象格式化为json字符串,没有参数。这东西有什么用呢,我一般也不会在页面上输出一个json串啊,官网说它 可以用来进行调试,嗯,是个不错的选择。或者,也可以用在js中使用,作用就和我们熟悉的JSON.stringify()一样。用法超级简单:
 {{ jsonTest | json}}
三、angular自定义过滤器
方法:
 app.filter('name', function() {
         return function(input, char) {
              return  自定义你的过滤器
       }
 }
 app.filter('capitalize', function() {
       //input 需要过滤的元素
       //char位置,索引减一
        return function(input, char) {
          if(isNaN(input)) {
                   //如果序号位置没有设置,索引位置默认是0
                    var char = char - 1 || 0;
                    //把过滤元素索引位置上的字母转换成大写
                    var letter = input.charAt(char).toUpperCase();
                    var out = [];
                    for(var i = 0; i < input.length; i++) {
                       if(i == char) {
                            out.push(letter);
                       } else {
                               out.push(input[i]);
                         }
                    }
                         return out.join('');
                       } else {
                            return input;
                         }
                   }
 });
第219天:Angular---过滤器的更多相关文章
- Angular过滤器
		
angular中的过滤器有: currency 过滤货币 number 过滤数字, date 过滤日期 json 把js对象过滤为json字符串 limitTo 截取字符串,参数是正数则从左往右 ...
 - Angular过滤器 自定义及使用方法
		
首先设置自定义过滤器. 定义模块名:angular .module('myApp') .filter('filterName',function(){ return function(要过滤的对象,参 ...
 - angular过滤器基本用法
		
1.过滤器主要用于数据的筛选,可以直接在模板使用 语法: {{expression | filter}} {{expression | filter | filter2}} {{expression ...
 - Angular 过滤器的简单使用
		
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
 - angular过滤器使用 自定义过滤器
		
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script sr ...
 - 如何angular过滤器进行排序???
		
首先定义一个json文件: 然后写HTML文件: <div id="box"> <!--第一个下拉框--> <select ng-model=&quo ...
 - angular 过滤器(日期转换,时间转换,数据转换等)
		
(function() { 'use strict'; /** * myApp Module * * Description */ angular.module('myApp') .filter('i ...
 - Angular 过滤器
		
<!DOCTYPE html><html ng-app="myApp"><head lang="en"> <meta ...
 - 简话Angular 04 Angular过滤器详解
		
一句话: filter是万能的数据处理器,可以过滤数据,排序数据,删除数据,扩展数据 1. 内置filter大全 url: https://docs.angularjs.org/api/ng/filt ...
 - angular过滤器在html和js中的使用
		
在HTML中使用格式为:{{数据 | 过滤器名称:条件一:条件二--}}:过滤条件间使用:隔开 例如: 在代码中一般格式为: 变量 = $filter("过滤器名称")(被过滤数 ...
 
随机推荐
- oracle出现无法修改的异常记录
			
oracle数据库(PLSQL登录器),修改时遇到无法修改以前的记录. 解决方法: 是因为session正在操作(有锁),出现的假象让你觉得执行了sql却无法显示出修改的数据. 一个操作用户未完成操作 ...
 - Scrapy爬取携程桂林问答
			
guilin.sql: CREATE TABLE `guilin_ask` ( `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '主键', `question ...
 - Unity面试技巧之C#基础
			
1. 定义常量最好使用运行是常量就是readonly 编译常量就是 const public static readonly MyClass myClass = new MyClass(); publ ...
 - RobotFramework测试环境搭建记录
			
Robotframwork测试环境搭建记录 1.安装Python2.7(https://www.python.org/) 在环境变量path中加入“C:\Python27” 安装后的验证方法为在命令行 ...
 - NO--14 微信小程序,左右联动二
			
上一篇讲解了左=>右联动,那个还比较简单,本篇写剩下比较核心的部分,也是本次开发过程中遇到最难的部分,右=>左联动,先简单看一下演示 右左联动.gif 一.关键技术: (1) 小程序 ...
 - 《Redis设计与实现》阅读笔记(一)--Redis学习
			
Redis学习资料与过程记录 在实习中经常会用到很多Redis,对Redis有了一些模糊的了解,总觉得隔靴搔痒的不痛快,所以决定开始深入的了解Redis,也作为我实习期间的目标. 这篇只是为了占个位置 ...
 - yocto-sumo源码解析(九): ProcessServer.main
			
前面讲到BitbakeServer实际上是一个ProcessServer,因此对ProcessServer进行了一个大略的分析集,这里着重再介绍一下ProcessServer.main. 1. 初始化 ...
 - 详细介绍redis的集群功能,带你了解真正意义上的分布式
			
Redis 集群是一个分布式(distributed).容错(fault-tolerant)的 Redis 实现, 集群可以使用的功能是普通单机 Redis 所能使用的功能的一个子集(subset). ...
 - Streamr助你掌控自己的数据(1)——教你5分钟上传数据至Streamr
			
博客说明 所有刊发内容均可转载但是需要注明出处. 教你5分钟上传数据至Streamr 本系列文档主要介绍怎么通过Streamr管理自己的DATA,整个系列包括三篇教程文档,分别是:教你5分钟上传数据至 ...
 - Django缓存配置和使用
			
- 缓存 - 配置 CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'LOCAT ...