在使用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. urllib2.HTTPError: HTTP Error 403: Forbidden

    这个问题主要是没有headers,加入一些内容就可以了 示例: # -*- coding: UTF-8 -*- import urllib2 site= "http://www.nseind ...

  2. C++复习5.指针数组字符串

    C/C++ 指针.数组和字符串 本次学习指针.数组.字符串.引用的内存映像. 1.指针 指针的本质:可以执行的程序是由指令.数据和地址组成的.当CPU访问内存单元的时候,不论是读取还是写入,首先要把内 ...

  3. Linq的使用 <一>

    一.种类 1.Linq to Objects,实现了IEnumerable<T>集合对象的集成查询 2.Linq to sql,针对关系数据库MSSQL的解释查询 3.Linq to En ...

  4. js 计算时间

    var date1=new Date();  //开始时间   var date2=new Date();    //结束时间 var date3=date2.getTime()-date1.getT ...

  5. 转载-lvs官方文档04-LVS集群的负载调度

    LVS集群的负载调度 章文嵩 (wensong@linux-vs.org) 2002 年 5 月 本文主要讲述了LVS集群的IP负载均衡软件IPVS在内核中实现的各种连接调度算法.针对请求的服务时间变 ...

  6. MBProgressHUD基础用法

    MBProgressHUD版本号:0.9.2以前用MBProgressHUD用得挺好的,基本上 - (void)showAnimated:(BOOL)animated whileExecutingBl ...

  7. 说说C++多重继承

    尽管大多数应用程序都使用单个基类的公用继承,但有些时候单继承是不够用的,因为可能无法为问题域建模或对模型带来不必要的复杂性.在这种情况下,多重继承可以更直接地为应用程序建模. 一.基本概念 多重继承是 ...

  8. LeetCode之Regular Expression Matching

    [题目描述] Implement regular expression matching with support for '.' and '*'. '.' Matches any single ch ...

  9. Java Double 精度问题总结

    package Demo_1.Test_2; import java.math.BigDecimal; /** * @描述:Java Double 精度问题总结 * @详细描述:使用Java,doub ...

  10. NamedParameterJdbcTemplate常用方法总结

    数据库结构 1.插入/修改/删除数据,使用update方法 插入数据1 API: int update(String sql, Map< String, ? > paramMap) 示例: ...