现在公司用ionic,就是基于angularjs封装了一些api用于webapp,最近用的angularjs的filter确实省了很多代码,现在总结一下!
ng比较鸡肋的过滤器,这里就一笔带过吧!鸡汤类常用的filter后面上例子。
lowercase(小写)
{{ lastName | lowercase }}
uppercase(大写)
{{ lastName | uppercase }}
number(格式化数字)
number过滤器可以为一个数字加上千位分割,像这样,123,456,789。同时接收一个参数,可以指定小float型保留几位小数:
{{ num | number : 2 }}
currency (货币处理)
{{num | currency : '¥'}}
json(格式化json对象)
{{ jsonTest | json}}
作用就和我们熟悉的JSON.stringify()一样
limitTo(限制数组长度或字符串长度)
{{ childrenArray | limitTo : 3 }} //将会显示数组中的前3项
filter(匹配子串)
用来处理一个数组,然后可以过滤出含有某个子串的元素,作为一个子数组来返回。可以是字符串数组,也可以是对象数组。如果是对象数组,可以匹配属性的值。它接收一个参数,用来定义子串的匹配规则。
html
js
效果展示:
filter 匹配子串(以下写法只是方便观察)
日期类
日期过滤器应该是常用过滤器中最简单的吧!
- yyyy--表示年份;
- MM--月份(必须大写);
- dd--日期;
- hh--时;
- mm--分(必须小写);
- ss--秒;
- EEEE--星期;
- hh:mm--形式是24小时制;
- h:mma--12小时制;
- 其中年、月、日、时、分、秒 或 / : - 等自己试做搭配吧!
2016/11/19 11:59:05 Saturday
2016年11月19日 12:01PM Saturday
2016年11月22日 10时42分09秒
2016/11/22 11:16:58
orderBy排序(个人认为第七例最佳写法)
ng-repeat生成一个独立的scope作用域,直接在ng-repeat循环后加管道orderBy排序。
用法很简单,但有坑需注意两点:
- 参数引号勿忘;
- 参数形式--直接写成age,不用写成item2.age。