博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用AngularJS中的filterFilter函数进行过滤
阅读量:6272 次
发布时间:2019-06-22

本文共 1990 字,大约阅读时间需要 6 分钟。

 

AngularJS中有一个filterFilter函数用来对集合过滤,非常方便。

源代码大致如下:

 

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部分如下:

 

angular  .module('app')  .controller('MainCtrl', ['$scope',    function($scope) {    $scope.users = $scope.users = [        {name: '', email: '', joined: 2015-1-1}    ];    $scope.filter = {      fuzzy: '',      name: ''    };    ...  }]);

 

■ 搜索所有任意字段

 

    {
{user.name}} {
{user.email}} {
{user.joined | date}}

 

■ 搜索某个字段

 

    {
{user.name}} {
{user.email}} {
{user.joined | date}}

 

如果想name字段完全匹配:

 

    {
{user.name}} {
{user.email}} {
{user.joined | date}}

 

■ 搜索时间段
contrlller部分修改为:

 

angular  .module('app')  .controller('MainCtrl', ['$scope',    function($scope) {    $scope.users = $scope.users = [        {name: '', email: '', joined: 2015-1-1}    ];    $scope.filter = {      fuzzy: '',      name: ''    };    $scope.minDate = new Date('January 1, 2000');    $scope.maxDate = new Date();    $scope.min = function(actual, expected) {      return actual >= expected;    };    $scope.max = function(actual, expected) {      return actual <= expected;    };  }]);

 

页面部分为:

 

    {
{user.name}} {
{user.email}} {
{user.joined | date}}

 

转载地址:http://jdlpa.baihongyu.com/

你可能感兴趣的文章
Shell脚本之awk篇
查看>>
微软发布Azure Stack硬件需求
查看>>
python socket编程详细介绍
查看>>
Windows Server 2016第三个技术预览版新技术
查看>>
Everything 本地磁盘文件搜索工具下载!
查看>>
Python dict(字典) 详细总结
查看>>
RPF(Reverse Path Forwarding 反向路径转发)技术
查看>>
2016年收到的第一件礼物,被评上微软全球最有价值专家MVP(一)
查看>>
2016中国VR开发者论坛第一期
查看>>
Hyper-V 2016 系列教程5 Hyper-V 服务器基本属性
查看>>
北京、天津工厂自动监测数据爬取
查看>>
第一个python程序简单加法计算器
查看>>
在CentOS下安装Tomcat8
查看>>
Weblogic classloader分析
查看>>
做技术做软件-----如何才能拿到上万的月薪
查看>>
linux 查看当前路径命令:pwd
查看>>
At.js – 用于 Web 应用程序的自动完成库
查看>>
[Android Pro] Android权限设置android.permission完整列表
查看>>
如何对抗硬件断点--- 调试寄存器
查看>>
mybatis学习
查看>>