收获:
在controller和service中使用filter
app.controller('testC',function($scope,$filter){ $scope.num = $filter('currency')(123534);
$scope.date = $filter('date')(new Date());
}
内置过滤器:
1.uppercase:转换大写;
2.lowercase:转换小写;
3.filter过滤器可以过滤数组并从中选择出一个子集出来,用法是“filter:模型名称”
4.orderBy.对项目排序。
例:
1.表格指定列排序
html:
<table class="table table-border" ng-app="myapp" ng-controller="orderByCtrl">
<thead>
<tr>
<th>inx</th>
<th ng-click="col='name';desc=!desc">name</th>
<!-- 当点击列标题时,执行click事件,将排序条件反转,即,如果原来是升序则将按降序,降序亦如此 -->
<th ng-click="col='gender';desc=!desc">gender</th>
<th ng-click="col='age';desc=!desc">age</th>
<th ng-click="col='score';desc=!desc">score</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="d in data|orderBy:col:desc">
<td ng-bind="$index+1"></td>
<td ng-bind="d.name"></td>
<td ng-bind="d.gender"></td>
<td ng-bind="d.age"></td>
<td ng-bind="d.score"></td>
</tr> </tbody>
</table>
js:
var app = angular.module('myapp', []);app.controller('orderByCtrl', function($scope) {
$scope.col = 'name';//默认按name列排序
$scope.desc = 0;//默认排序条件升序
$scope.data = [{ name: 'name 1', gender: 'male', age: 26, score: 70
}, { name: 'name 2', gender: 'female', age: 24, score: 84
}, { name: 'name 3', gender: 'male', age: 20, score: 76
}, { name: 'name 4', gender: 'female', age: 22, score: 64
}];
}) 2.搜索排序
....
Search:<input ng-model="query">
<tr ng-repeat="d in data|orderBy:col:desc| filter:query">
...
5.货币处理:{{num | currency: '$' }}
6.日期格式化:{{ date | date: 'yyy-MM-dd hh:mm:ss EEEE' }}
7.JSON格式化: {{jsonTest | json }}
json过滤器可以把一个js对象格式化为json字符串,没有参数。这东西有什么用呢,我一般也不会在页面上输出一个json串啊,官网说它 可以用来进行调试,嗯,是个不错的选择。或者,也可以用在js中使用,作用就和我们熟悉的JSON.stringify()一样。
8.限制数组长度或字符串长度:{{ children | limitTo : 2 }}
9.格式化数字: {{ num | number : 2 }}
为一个数字加上千位分隔符,以及指定float类型保留几位小数。
评论