本文实例讲述了实现的自定义过滤器。分享给大家供大家参考,具体如下:
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.自定义其他
还是直接上代码
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 ; } }
|