本文实例讲述了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;
}
}
|