filter,orderBy等过滤器
filter用法比较灵活(也增加了较高的复杂度),单独列出。
基本的用法:
<input type="text" class="search" ng-model="keyword" />
ng-repeat="item in items | filter:{name:keyword,done:false}" // 默认是and连接多个属性
ng-repeat="item in items | filter:{$:keyword,done:false}" // 表示只计入未完成的,$表示:or
$scope.doneSelect=function(item){ // 这个item是每一项而不是整个源数据(items)
return item.done && item.estimation>20; // 返回true表示保留(而不是返回一个新数据源)
}
ng-repeat="item in items | filter:doneSelect"
统计技巧:
ng-repeat="item in filteredBacklog={backlog|filter:{$:criteria,done:false}}"
Total:{{filteredBacklog.length}}
书中建议这类代码应该放在控制器中(控制器中可以访问$filter),这样更容易实现单元测试。
-----------------------------------------------------------------------------------
orderBy的用法比较简单
<thead>
<th ng-click="sort('name')">Name</th>
<th ng-click="sort('desc')">Description</th>
</thead>
<tbody>
<!--sortFiled: string 是排序的属性名-->
<!--reverse: boolean true升序,false降序-->
<!--排序放在filter之后,是有原因的。相比过滤,排序要付出更大的代价-->
<tr ng-repeat="item in filteredBacklog = (backlog | filter:criteria | orderBy:sortFiled:reverse)">
<td>{{item.name}}</td>
<td>{{item.desc}}</td>
...
</tr>
</tbody>
$scope.sortField = undefined;
$scope.reverse = false; $scope.sort = function(filedName) {
if ($scope.sortField === filedName) {
$scope.reverse = !$scope.reverse;
} else {
$scope.sortField = filedName;
$scope.reverse = false;
}
}
------------------------------------------------------------
从controller、filter(控制器、服务、其他过滤器)等中访问过滤器
// 第一种写法
angular.module('trimFilter', []) .filter('trim', function($filter) { var limitToFilter = $filter('limitTo'); return function(input, limit) {
if (input.length > limit) {
return limitToFilter(input, limit - 3) + '...';
}
return input;
};
});
// 更好的写法(更易读、代码更少)
.filter('trimII', function(limitToFilter) { return function(input, limit) {
if (input.length > limit) {
return limitToFilter(input, limit - 3) + '...'
}
return input;
};
});
filter,orderBy等过滤器的更多相关文章
- Introducation of Servlet filter(servlet过滤器介绍 )
		
本文章向大家介绍Servlet Filter,主要包括 Servlet Filter使用实例.应用技巧.基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下. 过滤器是一个可以转换 ...
 - Filter登录验证过滤器(全局)
		
通过Filter来定义一个登录验证过滤器,这是就不需要在每一个JSP页面添加判断用户合法性的代码了. 以下示例中包含了5个文件,一个是登录表单LoginForm.jsp,一个是登录判断页LoginCo ...
 - jsp filter登录限制过滤器
		
http://www.cnblogs.com/hemingwang0902/archive/2012/01/09/2316956.html UserFilter.java package filter ...
 - Bloom Filter(布隆过滤器)如何解决缓存穿透
		
本文摘抄自我的微信公众号"程序员柯南",欢迎关注!原文阅读 缓存穿透是什么? 关于缓存穿透,简单来说就是系统处理了大量不存在的数据查询.正常的使用缓存流程大致是,数据查询先进行缓存 ...
 - Filter接口编写过滤器
		
Filter,过滤器,顾名思义,即是对数据等的过滤,预处理过程.为什么要引入过滤器呢?在平常访问网站的时候,有时候发一些敏感的信息,发出后显示时 就会将敏感信息用*等字符替代,这就是用过滤器对信息 ...
 - elasticsearch 深入 —— Post Filter后置过滤器
		
过滤查询以及聚合 A natural extension to aggregation scoping is filtering. Because the aggregation operates i ...
 - Bloom Filter(布隆过滤器)
		
布隆过滤器用于测试某一元素是否存在于给定的集合中,是一种空间利用率很高的随机数据结构(probabilistic data structure),存在一定的误识别率(false positive),即 ...
 - codeforces Gym 100338F 	Spam Filter 垃圾邮件过滤器(模拟,实现)
		
阅读题, 概要:给出垃圾邮件和非垃圾邮件的集合,然后按照题目给出的贝叶斯公式计算概率一封邮件是垃圾邮件的概率. 逐个单词判断,将公式化简一下就是在垃圾邮件中出现的次数和在总次数的比值,大于二分之一就算 ...
 - AngularJs filter 过滤器
		
Filter Ng里的过滤器. currency:把一个数字格式化成货币模式(如$1,234.56).当没有提供任何货币符号时,默认使用当前区域的符号. 使用: HTML:{{ currency_ex ...
 
随机推荐
- Oracle优化 -- 关于Database Buffer Cache相关参数DB_CACHE_SIZE的优化设置
			
select size_for_estimate, buffers_for_estimate ,ESTD_PHYSICAL_READ_factor,ESTD_PHYSICAL_READS from v ...
 - PHPCMS-V9 获取一级栏目、二级栏目、三级栏目
			
<!-- 获取一级栏目 -->{pc:content action=" siteid="$siteid" order="listorder ASC& ...
 - 总结列表显示ListView知识点
			
全选ListView的item条目 单选ListView的条目 多选ListView的item条目 自定义ArrayAdapter动态改变ListView的不同item样式 动态增加和删除ListVi ...
 - 一个简单的Object Hook的例子(win7 32bit)
			
Object Hook简单的来说就是Hook对象,这里拿看雪上的一个例子,因为是在win7 32位上的,有些地方做了些修改. _OBJECT_HEADER: kd> dt _OBJECT_HEA ...
 - loadrunner通过C语言实现字符的替换(只能替换单个字符,慎用)
			
如果按照普通的定义字符串就会出现以下错误: 解决方法如下: 将双引号改成单引号: lr_searchReplace(abc,"test",' ','+'); Action也可以这些 ...
 - HTTP基础05--http首部
			
HTTP 报文首部 HTTP 请求报文 在请求中,HTTP 报文由方法.URI.HTTP 版本.HTTP 首部字段等部分构成. HTTP 响应报文 在响应中,HTTP 报文由 HTTP 版本.状态码( ...
 - [xsd学习]xsd元素限定
			
限定(restriction)用于为 XML 元素或者属性定义可接受的值 一.xsd中主要限定格式如下: <xs:element name="xxx"><!--元 ...
 - Codeforces Round #332 (Div. 2)
			
水 A - Patrick and Shopping #include <bits/stdc++.h> using namespace std; int main(void) { int ...
 - Codeforces 528D Fuzzy Search(FFT)
			
题目 Source http://codeforces.com/problemset/problem/528/D Description Leonid works for a small and pr ...
 - jQuery Dialog and timepicker显示层的问题
			
timepicker官网http://timepicker.co/demos/ 当在dialogue上面调用时间选择时,时间选择的框框被dialogue窗口挡住了. 搜出来的方法说修改css,根本改不 ...