[angular] - 过滤器Filter

就是通过一定的规则对数据进行处理,然后返回处理后的结果。

一、内置过滤器(9种)

currency(货币)
将数字格式化为货币,默认美元符,可传入所需的符号{{num | currency : '¥'}}

date(日期)
{{date | date : 'yyyy-MM-dd hh:mm:ss EEEE'}}注意大小写,可自由组合

filter(子串匹配)
$scope.childrenArray = [ {name:'lili',age:3}, {name:'anan',age:6}, {name:'feifei',age:5} ]; $scope.func = function(val){return val.age>4;} {{ childrenArray | filter : 'a' }} //匹配属性值中含有a的 {{ childrenArray | filter : {name : 'n'} }} //参数是对象,匹配name属性中含有n的 {{childrenArray | filter : func }} //参数是函数,指定返回age>4的

json(格式化json对象)
用来进行调试 {{ jsonData | json}}
可以用在js中使用,作用同JSON.stringify()

limitTo(限制个数)
截取数组或字符串,接收一个参数用来指定截取的长度。{{ childrenArray | limitTo : 2 }} //将会显示数组中的前两项

lowercase(小写)
uppercase(大写)
number(数字)
为一个数字加上千位分割(123,456,789)
{{ num | number : 2 }} //参数,指定float类型保留几位小数

orderBy(排序)
<div>{{ childrenArray | orderBy : 'age' }}</div> //按age属性值进行排序

二、使用

1、在html中使用

{{ expression | filter1 | filter2 | ... }} 在{{}}中 类似于管道
<span ng-repeat="a in array | filter "> 在指令中

2、在controller和service中使用

(1)引入单个过滤器(例如currency过滤器)
利用依赖注入
app.controller('testWy',function($scope,currencyFilter){ $scope.num = currencyFilter(123534); }
在模板中使用{{num}}就可以直接输出 123,534.00 (2)引入多个过滤器(filter)
app.controller('testWy',function($scope,$filter){ $scope.num = $filter('currency')(123534);   $scope.date = $filter('date')(new Date()); }

三、自定义过滤器

app.filter('filterName',function(){ //定义过滤器 return function(inputArray){ //接收参数 var array = []; for(var i=0;i<inputArray.length;i++){ if(i%2!==0){ array.push(inputArray[i]); } } return array; //返回处理后的数据 } });

return function (input, index, val) //js中
Result: {{ yourinput | filterFunc:3:'b' }} //html中

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • AngularJS是什么?AngularJs(后面就简称ng了)是一个用于设计动态web应用的结构框架。首先,它是...
    200813阅读 1,653评论 0 3
  • 转载文章 angularjs 过滤器(filter)正如其名,作用就是接收一个输入,通过某个规则进行处理,然后返回...
    飞将军阅读 620评论 0 2
  • 通过AngularJS仿豆瓣一刻的案例:https://github.com/zhongxiaolian/doub...
    中小恋阅读 1,787评论 1 21
  • 大家好,我是IT修真院成都分院第7期的学员韩建名,一枚正直纯洁善良的WEB前端程序员。 今天给大家带来的是:简述a...
    inh_阅读 520评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,991评论 19 139