① angularjs怎么用filter进行表的局部搜索
工具/原料 AngularJS 脚本库 IDE 一、在视图模板(View Template)中使用 在表达式中应用Filters (过滤器) 需要遵循格式如下: {{ expression | filter }} 即 {{ 表达式 | 过滤器 }} 例如:{{ 12 | currency }} 输出为 $12.00 在输出结果中应...
② angularjs如何将时间戳转换成格式化时间求代码啊
本地化日期格式化:
({{today|date:'medium'}})Nov19,20153:57:48PM
({{today|date:'short'}})11/19/153:57PM
({{today|date:'fullDate'}})Thursday,November19,2015
({{today|date:'longDate'}})November19,2015
({{today|date:'mediumDate'}})Nov19,2015
({{today|date:'shortDate'}})11/19/15
({{today|date:'mediumTime'}})3:57:48PM
({{today|date:'shortTime'}})3:57PM
年份格式化:
四位年份:({{today|date:'yyyy'}})2015
两位年份:({{today|date:'yy'}})15
一位年份:({{today|date:'y'}})2015
月份格式化:
英文月份:({{today|date:'MMMM'}})November
英文月份简写:({{today|date:'MMM'}})Nov
两位数字月份:({{today|date:'MM'}})11
一年中的第几个月份:({{today|date:'M'}})11
日期格式化:
数字日期:({{today|date:'dd'}})19
一个月中的第几天:({{today|date:'d'}})19
英文星期:({{today|date:'EEEE'}})Thursday
英文星期简写:({{today|date:'EEE'}})Thu
小时格式化:
24小时制数字小时:({{today|date:'HH'}})15
一天中的第几个小时:({{today|date:'H'}})15
12小时制数字小时:({{today|date:'hh'}})03
上午或下午的第几个小时:({{today|date:'h'}})3
分钟格式化:
数字分钟数:({{today|date:'mm'}})57
一个小时中的第几分钟:({{today|date:'m'}})57
秒数格式化:
数字秒数:({{today|date:'ss'}})48
一分钟中内的第几秒:({{today|date:'s'}})48
毫秒数格式化:
毫秒数:({{today|date:'sss'}})541
字符格式化:
上下午标识:({{today|date:'a'}})PM
四位时区标识:({{today|date:'Z'}})+0800
自定义日期格式化:
年月日:({{today|date:'yyyy-MM-dd'}})2015-11-19
时分秒:({{today|date:'HH:mm:ss.sss'}})15:57:48.541
③ angularjs为什么当前页面做任何操作filter都会执行
1. currency (货币处理)
使用currency可以将数字格式化为货币,默认是美元符号,你可以自己传入所需的符号,例如我传入人民币:
{{num | currency : '¥'}}
2. date (日期格式化)
原生的js对日期的格式化能力有限,ng提供的date过滤器基本可以满足一般的格式化要求。用法如下:
{{date | date : 'yyyy-MM-dd hh:mm:ss EEEE'}}
参数用来指定所要的格式,y M d h m s E 分别表示 年 月 日 时 分 秒 星期,可以自由组合它们。也可以使用不同的个数来限制格式化的位数。另外参数也可以使用特定的描述性字符串,例如“shortTime”将会把时间格式为12:05 pm这样的。ng提供了八种描述性的字符串,这些有点多余,完全可以根据自己的意愿组合出想要的格式,不愿意去记这么多单词~
3. filter(匹配子串)
这个名叫filter的filter。用来处理一个数组,然后可以过滤出含有某个子串的元素,作为一个子数组来返回。可以是字符串数组,也可以是对象数组。如果是对象数组,可以匹配属性的值。它接收一个参数,用来定义子串的匹配规则。下面举个例子说明一下参数的用法,用现在特别火的几个孩子定义了一个数组:
$scope.childrenArray = [
{name:'kimi',age:3},
{name:'cindy',age:4},
{name:'anglar',age:4},
{name:'shitou',age:6},
{name:'tiantian',age:5}
];
$scope.func = function(e){return e.age>4;}{{ childrenArray | filter : 'a' }} //匹配属性值中含有a的
{{ childrenArray | filter : 4 }} //匹配属性值中含有4的
{{ childrenArray | filter : {name : 'i'} }} //参数是对象,匹配name属性中含有i的
{{childrenArray | filter : func }} //参数是函数,指定返回age>4的
4. json(格式化json对象)
json过滤器可以把一个js对象格式化为json字符串,没有参数。这东西有什么用呢,我一般也不会在页面上输出一个json串啊,官网说它可以用来进行调试,嗯,是个不错的选择。或者,也可以用在js中使用,作用就和熟悉的JSON.stringify()一样。用法超级简单:
{{ jsonTest | json}}
5. limitTo(限制数组长度或字符串长度)
limitTo过滤器用来截取数组或字符串,接收一个参数用来指定截取的长度,如果参数是负值,则从数组尾部开始截取。个人觉得这个filter有点鸡肋,首先只能从数组或字符串的开头/尾部进行截取,其次,js原生的函数就可以代替它了,看看怎么用吧:
{{ childrenArray | limitTo : 2 }} //将会显示数组中的前两项
6. lowercase(小写)
把数据转化为全部小写。太简单了,不多解释。同样是很鸡肋的一个filter,没有参数,只能把整个字符串变为小写,不能指定字母。
7. uppercase(大写)
同上。
8. number(格式化数字)
number过滤器可以为一个数字加上千位分割,像这样,123,456,789。同时接收一个参数,可以指定float类型保留几位小数:
{{ num | number : 2 }}
9. orderBy(排序)
orderBy过滤器可以将一个数组中的元素进行排序,接收一个参数来指定排序规则,参数可以是一个字符串,表示以该属性名称进行排序。
④ angularjs中有多个过滤器使用方法
一、在视图模板(View Template)中使用
在表达式中应用Filters (过滤器)
需要遵循格式如下:
{{ expression | filter }} 即 {{ 表达式 | 过滤器 }}
例如:{{ 12 | currency }} 输出为 $12.00在输出结果中应用Filters (过滤器)
通俗点讲就是Filter的叠加--前一filter的输出结果作为后一filter的输入数据源.
需要遵循格式如下:
{{ expression | filter1 | filter2 | ... }} 即 表达式(expression)使用filter1过滤后再使用filter2过滤...
带参数的Filter
Filter后面可以跟一个或多个参数,用来帮助实现特殊要求、需求的filter.
需要遵循格式如下:
{{ expression | filter:argument1:argument2:... }}
示例: {{ 1234 | number:2 }} = 1,234.00END
二、使用 AngluarJS 内置Filter
AngularJS为我们提供了9个内建的过滤器
分别是currency, date, filter, json, limitTo, uppercase, lowercase, number, orderBy。
具体的用法在AngularJS的文档中都有详细说明。下面只说几个常用的。
currency filter(货币过滤器)
currency – 用来将变量转换成货币表现形式
如:{{ amount | currency}}
uppercase/lowercase filter(字母大小写filter)如:
{{ "lower cap string" | uppercase }}
<input ng-model="userInput"> Uppercased: {{ userInput | uppercase }}
date filter (日期filter)
如:
{{ 1304375948024 | date }}
{{ 1304375948024 | date:"MM/dd/yyyy @ h:mma" }}
json filter
如:
{{ {foo: "bar", baz: 23} | json }}
END
在controllers, services和drictives中使用filter1可以在AngularJS的controller, service或者driective中使用filter, 这时候你需要将依赖的filter名字加入到controller, service或者directive的依赖中去。
2在controller中直接使用filter, 这样controller可以根据自身需要而适时调用filterEND
三、自定义filter(过滤器)
1AngularJS编写自定义过滤器的形式和AngularJS的factory service非常相像,一定记得它返回一个对象或者是一个函数即可,编写的时候,只需要一个带有一个以上参数的函数即可。
2格式大致如:
app.filter('filter(过滤器)名称',function(){return function(需要过滤的对象,过滤器参数1,过滤器参数2,...){//...执行业务逻辑代码return 处理后的对象;
}
});