angularjs过滤器
- 在html文件中和在js文件中使用
$scope.form_time = $filter('date')($scope.time, 'yyyy-MM-dd HH:mm:ss'); <p>{{time | date: 'yyyy-MM-dd HH:mm:ss'}}</p> $filter('json')(angular.copy(obj)); $filter('currency')(50000,'$CHN ')); $filter('date')(new Date("2016-6-15")); $filter('date')(new Date("2016.6.15")); $filter('date')(new Date("2016/6/15"));
- 内部过滤器和自定义过滤器
.filter('my_data_format',[function(){ return function(data,str,sss){ console.log('data: ',data,' str: ',str,' sss: ',arguments[2]); } }]); //var1就是第一个参数data, 123是第二个参数str, this是第三个参数 <p>{{var1 | my_data_format : 123 : 'this'}}</p> //对传入的数据进行处理 .filter('my_data_format',[function(){ return function(data,str){ var arr=[]; angular.forEach(data, function(one_list){ if(one_list.status == str){ arr.push(one_list); } }); return arr; } }]); //过滤器可以用在绑定的值中,也可以用在ng-if="(lists | my_data_format: '2').length>0", 和ng-show等;类似的表达式中。作为判断语句 <p ng-repeat = "list in lists">姓名:{{list.name}},人数{{(lists | my_data_format: '2').length}}</p>
- ng-repeate中的排序
<li ng-repeat="name in names | orderBy: age"> {{x.name + "-" + x.age + "-" + x.country}} </li> //这里是按年龄排序,也可以自定义过滤器,自己定义排序的逻辑