AngularJS的filter,中文名“过滤器”是用来过滤变量的值,或者格式化输出,得到自己所期望的结果或格式的小编。AngularJS中有一个filterFilter函数用来对集合过滤,非常方便。
源代码大致如下:
rush:js;">
function filterFilter(){
return function(aray,expression comparator){
if(!isArray(array)) return array;
var comparatorType = typeof(comparator),predicates = [],evaluatedobjects = [];
predicates.check = function(value){
for(var j = 0; j < predicates.length; jii){
if(!predicates[j](value){
return false;
})
}
return true;
}
if(comparatorType != 'function'{
if(comparatorType === 'boolean' && comparator){
comparator = function(obj,text){
return angular.equals(obj,text);
}
} else {
comparator = function(obj,text){
...
}
}
})
}
}
controller部分如下:
rush:js;">
angular
.module('app')
.controller('MainCtrl',['$scope',function($scope) {
$scope.users = $scope.users = [
{name: '',email: '',joined: 2015-1-1}
];
$scope.filter = {
fuzzy: '',name: ''
};
...
}]);
搜索所有任意字段
rush:js;">
搜索某个字段
rush:js;">
如果想name字段完全匹配:
rush:js;">
搜索时间段
contrlller部分修改为:
= expected;
};
$scope.max = function(actual,expected) {
return actual <= expected;
};
}]);
页面部分为:
rush:js;">
以上所述是小编给大家分享的Angularjs中如何使用filterFilter函数过滤的相关知识,希望对大家有所帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。