第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("过滤器名称")(被过滤数 ... 
随机推荐
- virtualBox linux centos 挂载u盘 解决乱码
			linux 挂载u盘 环境:虚拟机virtualBox5.2.8 linux centos6.5 64bit 第一步:插入u盘 第二步:virtualBox 设置启用u盘 提示:如果不知道哪个是你u盘 ... 
- php+mysql 数据库分表分段备份程序--宋正河
			<?php //宋正河 转载请注明出处 set_time_limit(0); header('content-type:text/html;charset=utf-8'); mysql_conn ... 
- 《Redis设计与实现》阅读笔记(三)--链表
			链表 定义 链表分为两部分,链表节点和持有链表的list结构. 每个链表节点包含前置节点指针,后置节点指针,节点值void*用于保存各种不同类型的值 list结构包含表头节点指针,表尾节点指针,节点数 ... 
- Python数据分析工具库-Numpy 数组支持库(一)
			1 Numpy数组 在Python中有类似数组功能的数据结构,比如list,但在数据量大时,list的运行速度便不尽如意,Numpy(Numerical Python)提供了真正的数组功能,以及对数据 ... 
- HDFS handler
			http://docs.oracle.com/goldengate/bd1221/gg-bd/GADBD/GUID-85A82B2E-CD51-463A-8674-3D686C3C0EC0.htm#G ... 
- css修改input自动提示的黄色背景
			css修改input自动提示的黄色背景 input:-webkit-autofill { background-color: #FAFFBD; background-image: none; -web ... 
- TIME_WAIT 你好!
			[root@vm-10-124-66-212 ~]# netstat -an|awk -F ' ' '{print $NF}'|sort |uniq -c |sort -rn|more 5552 TI ... 
- 阿里nas挂载错误
			报错如下,解决:yum install nfs-utils 即可 mount: wrong fs type, bad option, bad superblock on 12080482f3-qra4 ... 
- Linux下oracle启动/关闭监听(bash:lsnrctl:command not found)
			打开终端 切换帐户 # su - Oracle 启动监听 $ lsnrctl start 关闭监听 $ lsnrctl stop 切换帐户一定要加 "-" 否则会出现: bas ... 
- React的setState分析
			前端框架层出不穷,不过万变不离其宗,就是从MVC过渡到MVVM.从数据映射到DOM,angular中用的是watcher对象,vue是观察者模式,react就是state了. React通过管理状态实 ... 
