本文实例讲述了AngularJS实现的自定义过滤器。分享给大家供大家参考,具体如下:
1.自定义限制字数的过滤器
啥也不说了直接上代码吧
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
angular.module(
'demo'
).filter(
'cut'
,
function
($sce) {
return
function
(value, wordwise, max, tail) {
if
(!value)
return
''
;
max = parseInt(max, 10);
if
(!max)
return
value;
if
(value.length <= max)
return
value;
if
(value.length > max){
value = value.substr(0, max);
}
if
(wordwise) {
var
lastspace = value.lastIndexOf(
' '
);
if
(lastspace != -1) {
value = value.substr(0, lastspace);
}
}
return
$sce.trustAsHtml(value + (tail ||
' … <span>显示全文</span>'
));
};
});
|
代码直接拷走绝对没问题!!项目亲测!
2.自定义其他jQuery过滤器
还是直接上代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
angular.module(
'demo'
).filter(
'stateFormat'
, [
'state'
,
function
(state) {
return
function
(input, type){
if
(type ==
'stateColor'
){
switch
(input){
case
'1'
:
return
'green'
;
break
;
case
'0'
:
return
'red'
;
break
;
}
}
else
if
(type ==
'stateText'
){
switch
(input){
case
'1'
:
return
'特价'
;
break
;
case
'0'
:
return
'未特价'
;
break
;
}
}
else
if
(type ==
'marry'
){
switch
(input){
case
'1'
:
return
'黄焖鸡米饭'
;
break
;
case
'2'
:
return
'水煮肉片'
;
break
;
case
'3'
:
return
'酸菜鱼'
;
break
;
}
}
else
(type ==
'propertyColor'
){
switch
(input){
case
'1'
:
return
'blue'
;
break
;
case
'-1'
:
return
'red'
;
break
;
case
'0'
:
return
''
;
break
;
}
}
|