发表于: 2016-08-11 22:51:55
0 2271
今天完成的事:自定义一个过滤器
明天要做的事:学习angular的表单验证
收货:
因为后台给的数据是0-9的数字数组
而相对应的是
"0基础","3个月内","6个月内","一年内","三年内","三年以上"
的文字,我们就需要去进行相对应的过滤
一开始的做法是在js中写出文字数组,然后在ng-repeat中去过滤
后来师兄说我这个还不够简洁,需要在路由中先定义一个公共的常量,以及过滤器。然后在要使用的页面中进行注入
//常量
.constant('type', [
{id: 1, name: 'CSS'},
{id: 2, name: 'JS'},
{id: 3, name: 'Java'},
{id: 4, name: '运维'},
{id: 5, name: 'DBA'},
{id: 6, name: '产品'},
{id: 7, name: 'IOS'},
{id: 8, name: 'Android'}
])
.constant('talent', [
{id: 1, name: '学霸'},
{id: 2, name: '学渣'}
])
.constant('level', [
{id: 1, name: '0基础'},
{id: 2, name: '3个月内'},
{id: 3, name: '6个月内'},
{id: 4, name: '1年内'},
{id: 5, name: '3年内'},
{id: 6, name: '3年以上'}
])
//过滤器
.filter('typefilter', function (type) {
return function (params) {
return (params>=type.length?"未知类型":type[params].name)
}
})
.filter('talentfilter', function (talent) {
return function (params) {
return (params>=talent.length?"未知资质":talent[params].name)
}
})
.filter('levelfilter', function (level) {
return function (params) {
return (params>=level.length?"未知等级":level[params].name)
}
});
具体页面中进行数据过滤,将数字过滤成需要展示的文字
<th>{{a.type | typefilter }}</th>
评论