angularJs中filter的用法及api解释
angularJs饱受广大开发者欢迎,除了其依赖注入,双向绑定的思想,directive指令,filter过滤器也极大的提高了开发效率,代码更加优雅,维护起来也更加方便。比如,上传,打印,排序,流程等只需一个指令,并绑定相应的变量即可实现,根本不需要后台同事编写JS,好的指令,不仅可复用,可拓展,还得可以维护。指令用的蛮多了,就不赘述,今天谈谈它的好基友,filter过滤器。angularJS的过滤器非常强大,一个filter能瞬间format时间的格式,货币,数字,以及自定义过滤器对目标数组进行过滤。 过滤器使用起来也很简单,直接上栗子: <div class="search-project"> <h4 class="text-muted text-thin">选择项目</h4> <input type="text" class="form-control" placeholder="请输入项目名称" ng-model="query"> </div> <ul class="nav" > <li ng-repeat="project in projectItems | filter:query"> <a class="media-box p mt0" ng-click="selectProject(project);"> <span class="media-box-body"> <span class="media-box-heading"> <i class="fa fa-map-marker"></i> {{project.projectName}} </span> </span> </a> </li> </ul>
了解过ng的朋友,一眼就能明白,在input里的ng-model=‘query’就是双向绑定的变量。而下边的ng-repeat=”project in projectItems | filter:query”,首先就是遍历projectItems这个数组,而filter就是依据query这个字段进行过滤。 //在html模板里
{{ filter_expression | filter : expression : comparator : anyPropertyKey}}// 这里的filter_expression可以理解为source Array
//在js controller里
$filter('filter')(array,expression,comparator,anyPropertyKey)
这里每个参数的意义也给一下简单的解释
好了,有了这里的用法及解释,就可以写咯,在controller里用过 $filter('filter')($scope.projectItems,query)
就可以得到依据query过滤的结果。第一个参数是目标数组,第二个参数是根据筛选的关键词,第三个参数默认是false,及包含关键词就返回。第四个参数,没用过。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- AngularJS – 如何在我的javascript解析之前存在ng-repeat中
- angularjs – 我可以在ngIf语句中使用过滤器
- scala – 将Spark DataSet行值映射到新的哈希列
- webservice----xfire
- AngularJS:从form控制器访问formController放置在转录指令
- 我可以在Vim视觉选择中执行MySQL查询,并在新缓冲区中输出
- 收藏:15张Vim速查表-帮你提高N倍效率
- Angular2 Observable回调
- angular – 如何导航到延迟加载的模块子路由?
- BPTMQEditor文档编辑器插件开发(基于bootstrap[它的一些样式