在使用ng框架做项目的时候,我们可能会使用到ng自带的过滤器,来进行数据的筛选

一:ng自带的过滤器:currency ,date,limitTo,lowercase,uppercase,number,orderBy ,json,filter

过滤器有两种使用方法:第一种,页面是直接使用;第二种,js中使用

以上的过滤器的使用时偏简单的,查看文档对你很有用

这里,我们来讲解一下 上面的简单中的很少用到的json,filter

关于json过滤器的作用是将一个javaScript对象转化为一个JSON字符串:

 demo: 

  <div>
{{ {name: 'Ari', City: 'SanFrancisco'} | json }}
</div>

页面显示的效果是:{ "name": "Ari", "City": "SanFrancisco" }

关于filter过滤器的用法:

页面中直接使用

 <div>
{{ ["aaassddd","bbbdddeee","kkklljj"] | filter:"!e" }}
</div>

页面显示的效果是:["aaassddd","kkklljj"]

举一个在js中使用的demo吧

<!doctype html>
<html lang="en" ng-app="myApp">
<head>
<script src="angular.js"></script>
</head>
<body>
<div ng-controller="filterCtrl">
{{name}}
{{dollar}}
{{ ['Ari','Lerner','Likes','To','Eat','Pizza'] | filter:'e' }}
{{ {name: 'Ari', City: 'SanFrancisco'} | json }}
{{ ["aaassddd","bbbdddeee","kkklljj"] | filter:"!e" }}
</div>
</body>
</html>
<script>
angular.module("myApp",[])
.controller("filterCtrl",["$scope","$filter","currencyFilter",function(s,f,c){//方式一:直接使用$filter, 方式二:使用***Filter
s.name=f('lowercase')("ARTDF");
s.dollar=c(234);
}])
</script>

二:讲解了ng的内置过滤器,我们来 学学如何自定义过滤器

    ng的自定义过滤器返回的是一个函数,我们可以在这个函数里进行系列操作

   js:

 var myFilter=angular.module("filterModule",[])
.filter("filter1",function(){
return function(item){
return item+'ABCDE';
}
});

html:

<div>{{432432423432| date:"yyyy-MM-dd"|filter1}}</div>

结果:1983-09-15ABCDE

demo2:自定义过滤器(直接上例子)

<!doctype html>
<html lang="en" ng-app="myApp">
<head>
<script src="lodash.js"></script>
<script src="angular.js"></script>
</head>
<body ng-controller="myCtrl">
<div ng-repeat="t in list | filterByObj:arr">{{t}}</div>
</body>
</html>
<script>
var app=angular
.module("myApp",[])
.controller("myCtrl",function($scope){
$scope.list=[1,3,4,5,12,23,6];
$scope.arr=[6,5,3,1];
})
.filter("filterByObj",[function(){
return function(list,obj){
var result=[];
angular.forEach(list,function(item){
var isEqual=true;
for(var e in obj){
if(item==obj[e]){
result.push(item);
}
}
});
return result;
}
}]);
</script>

结果:1,3,5,6

借鉴资源链接:http://www.oschina.net/translate/angularjs-filter-creating-custom-filter

关于ng的过滤器的详细解释angular-filter的更多相关文章

  1. Linux - 命令行 管道(Pipelines) 详细解释

    命令行 管道(Pipelines) 详细解释 本文地址: http://blog.csdn.net/caroline_wendy/article/details/24249529 管道操作符" ...

  2. ng 自定义过滤器的创建和使用

    过滤器的本质就是一个方法,参数就是输入的值以及给过滤器指定的参数,返回值就是处理后要显示的值. ①过滤器创建var app = angular.module();app.filter(‘名称’,fun ...

  3. Action的三种实现方式,struts.xml配置的详细解释及其简单执行过程(二)

    勿以恶小而为之,勿以善小而不为--------------------------刘备 劝诸君,多行善事积福报,莫作恶 上一章简单介绍了Struts2的'两个蝴蝶飞,你好' (一),如果没有看过,请观 ...

  4. .htaccess语法之RewriteCond与RewriteRule指令格式详细解释

    htaccess语法之RewriteCond与RewriteRule指令格式详细解释 (2012-11-09 18:09:08) 转载▼ 标签:  htaccess it 分类: 网络 上文htacc ...

  5. cookie的详细解释

    突然看到网页上中英文切换的效果,不明白怎么弄得查了查 查到了cookie 并且附有详细解释 就copy留作 以后温习 http://blog.csdn.net/xidor/article/detail ...

  6. tar命令的详细解释

    tar命令的详细解释 标签: linuxfileoutputbashinputshell 2010-05-04 12:11 235881人阅读 评论(12) 收藏 举报  分类: linux/unix ...

  7. Linux学习笔记15——GDB 命令详细解释【转】

    GDB 命令详细解释 Linux中包含有一个很有用的调试工具--gdb(GNU Debuger),它可以用来调试C和C++程序,功能不亚于Windows下的许多图形界面的调试工具. 和所有常用的调试工 ...

  8. C语言 - 结构体(struct)比特字段(:) 详细解释

    结构体(struct)比特字段(:) 详细解释 本文地址: http://blog.csdn.net/caroline_wendy/article/details/26722511 结构体(struc ...

  9. 姿势体系结构的详细解释 -- C

    我基本上总结出以下4部分: 1.问题的足迹大小. 2.字节对齐问题. 3.特别保留位0. 4.这种结构被存储在存储器中的位置. #include <stdio.h> #include &l ...

随机推荐

  1. 记录selenium操作

    # -*- coding: utf-8 -*- # coding:utf-8 必须在第一行才能支持中文注释 #!/usr/bin/python # android-build.py # Build a ...

  2. angularJS---初识指令

    angularJS 什么是angularJS AngularJS 诞生于2009年,由Misko Hevery 等人创建,后为Google所收购.是一款优秀的前端JS框架,已经被用于Google的多款 ...

  3. Access control allow origin 简单请求和复杂请求

    原文地址:http://blog.csdn.net/wangjun5159/article/details/49096445 错误信息: XMLHttpRequest cannot load http ...

  4. Ansible 1.9.0发布 来一起看看这个配置管理新贵

    Ansible 1.9.0(版本代号是Dancing In the Street,Ansible每个主要版本代号都是VanHallen乐队的一首曲子)的主要变化是: Added kerberos su ...

  5. avr 烧录失败

    用Atmel studio 6.0 配置mkII烧录器 使用上位机bat程序烧录 提示错误:firmware is old... 1参考(关于FUSe setting) http://www.cnbl ...

  6. 自己定义的Excetpion继承哪个异常有什么讲究?[待解答]

    try catch的地方需要用到一个自定义的DBException,如下: 于是我就自定义了一个DBException,继承Excetpion,以父类Exception构造器创建构造器: DBExce ...

  7. oracle和sql server 比较

    Oracle   SQLServer   比较 字符数据类型  CHAR  CHAR  都是固定长度字符资料但oracle里面最大度为2kb,SQLServer里面最大长度为8kb 变长字符数据类型  ...

  8. MP3格式音频文件结构解析

    MP3的全称是MPEG Audio Layer3,它是一种高效的计算机音频编码方案,它以较大的压缩比将音频文件转换成较小的扩展名为.MP3的文件,基本保持原文件的音质.MP3是ISO/MPEG标准的一 ...

  9. 将海康大华等网络摄像机RTSP流进行网页Flash rtmp和H5 hls直播的技术方案

    前言 再小的技术点也会有他的市场! 一直以来,都有一些不被看好,认为是成本太高,无法大规模展开的软件和产品形态,就好比每一座城市都会有他的著名小吃一样,即使是慕名而来的人源源不断,受众群体也总是有限, ...

  10. 新浪云使用smarty模板的方法

    在部署到sina app engine(sae)上时出现了问题,因为sae作为云计算平台式无法进行文件读写操作的,所以Smarty中输出的缓存文件就无法实现. 错误信息:“SAE_Fatal_erro ...