需要在表格中显示使用ng-repeat的用户友好值。假设以下是服务的响应模型。
[{
Name : "Hon",
Gender : "M"
},
{
Name : "Hon",
Gender : "F"
},
{
Name : "Hon",
Gender : "M"
},
{
Name : "Jon",
Gender : "M"
},
{
Name : "on",
Gender : "F"
}]
目前表格显示如下
名称性别
Hon M
Hon F
Hon M
Jon M
在F </ p>上
但我希望桌子像
名称性别
男士
女性
男士
Jon Male
关于女性
我不想使用任何for循环来做这件事。这是我在这里展示的简单示例。但在我的情况下,有3到4列需要这种映射,每页有可能获得1000条记录。
我们可以使用angular js使用指令或过滤器吗?如果是这样的话?或者你对此有什么更好的建议吗?
答案 0 :(得分:1)
Angular $filter
也基于循环逻辑。
事实上,如果您使用角度过滤器,那么将采用以下方式:
.filter('genderTransform', function() {
return function(input) {
return input.map((val) => {
if (val.Gender == 'F') {
val.Gender = 'Female';
} else if (val.Gender == 'M') {
val.Gender = 'Male';
}
return val
})
}
})
然后在模板中:
<div ng-repeat="item in data | genderTransform">
<!-- whatever -->
</div>
这是一个有效的fiddle