宝哥软件园

详细解释AngularJS过滤器的使用

编辑:宝哥软件园 来源:互联网 时间:2021-08-31

评估师进行综合查询,查询条件为:地区、单位、专业、资格证书名称、有效期至。

如果我们所有的数据查询都在后台。根据拼接的查询条件,是人员表选择要查询的地区、单位、专业,人员资格表选择资格证书名称、有效期进行查询。

查询放在后台,可以用我们固有的想法来设计。

然后写两个界面,一个根据从事专业查询的地区、单位、人员,另一个根据资质证书名称、有效期、从事专业查询的地区、单位、人员。只是在拼接谓词时多了几个连接。

然后前台监控用户选择的查询条件,并根据不同的查询条件请求相应的界面。

虽然可以做到这一点,但这里的评估师数量不会很大。我们可以根据地区、单位、专业查询人员直接带出对应的人员资质,然后根据用户选择的资质证书的名称、有效期进行人员资质过滤,在前台过滤出用户想要的数据。

过滤想法

过滤器,本质上是一种先输入什么再输出什么的方法。

符合这里要求的输入参数应该是人员、资格证书名称、有效期到,然后作为加工人员输出。

对于不熟悉这个项目的人来说,过滤人员的资质可能不容易理解,所以在这里,以人和计算机为例。一个人可以拥有多台计算机,要求是从阵列中删除此人不符合过滤条件的计算机。

webapp . filter(' yunchicomputer ',function(){ return function(users,computer name){ angular . foreach(users,function(user){ angular . foreach(user.computers,function(computer,index) { if (computer.name!==computerName) {//如果条件不满足,请从user.computers.splice(index,1)数组中删除该项;} });});返回用户;};});ng-repeat=' user in users | yuzhicomputer : ' MAC ' ' V层过滤问题

因为这里的考核人查询需要分页,由于数据量小,计划在前台分页。

分页后,循环中的用户就是已经完成分页的人。

如果有两页数据,每页十项,第一页一项,第二页三项,如果用户过滤第一页的数据,最终会显示一条数据,而不是第二页的合格数据。

c层过滤

原来是先在C层分页,然后在V层过滤。为了避免分页带来的数据过滤错误,决定把过滤器放在C层,先过滤再分页。

过滤器- AngularJS

angular . module(' filterinrollermodule ',[])。controller('FilterController ',['filterFilter ',function filter controller(filter filter){ this . array=[{ name : ' Tobias ' },{name: 'Jeff'},{name: 'Brian'},{name: 'Igor'},{name: 'James'},{ name : ' Brad ' }];this . filteredarray=filter filter(this . array,' a ');}]);首先是AngularJS给出的写法。直接过滤器名称加上过滤器可以直接依赖于注射过滤器。比如这里的过滤器叫云智通,我们可以直接依靠云智通过滤器的注入。

如何在控制器中使用过滤器

函数myCtrl($scope,$ filter){ $ filter(' filter name ')(arg 1,arg 2);}这是StackOverflow上给出的文字。我更喜欢这种写法。毕竟,我们写过滤器。为了防止与现有库冲突,我们需要在过滤器前加上云志前缀,然后在命名中大致描述这个过滤器的功能。这就使得过滤器的名字很长,加上过滤器,就更长了,完全没有必要。毕竟$filter中的字符串还是可以被别人直接粘贴的,然后Ctrl P就可以直接查询过滤器了。

以上就是本文的全部内容。希望对大家的学习有帮助,支持我们。

更多资讯
游戏推荐
更多+