我在我们的一个项目中使用角度。 这是我们的用户表:
ID NAME WEBSITE ROLE
1 Nitin www.n.com 1
2 Abhi www.a.com 1
3 Vivek www.v.com 2
4 Mike www.m.com 0
5 Nav www.na.com 2
Role: 0 - ADMIN | 1 - ACTIVE MEMBER | 2 - INACTIVE MEMBER
这是我的角度视图代码:
<table ng-table="tableParams" class="table table-hover">
<thead>
<tr>
<th>ID</th>
<th>NAME</th>
<th>WEBSITE</th>
<th>STATUS</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="user in users | filter:query | orderBy:[checkedFunction,dFilter] track by $index ">
<td>
<input type="checkbox" ng-model="user.checked" value="{{ user.ID }}" />
</td>
<td>{{ user.NAME }}</td>
<td>{{ user.WEBSITE }}</td>
<td>{{ user.ROLE }}</td>
</tr>
</tbody>
</table>
现在我的问题是我如何展示角色的相应文本?是否有任何方法可以定义角色的文本,角度是否根据角色自动显示?
我可以在视图中使用ng-if语句,但我觉得这不是一个好主意。 棱角是否有类似
的东西{{ user.ROLE ? 0 : 'ADMIN', 1 : 'ACTIVE MEMBER', 2 : 'INACTIVE MEMBER' }}
答案 0 :(得分:2)
我可能会为此创建一个过滤器。
angular.module('app', [])
.filter('role', function() {
return function (input) {
var roleTypes = { 0 : 'ADMIN', 1 : 'ACTIVE MEMBER', 2 : 'INACTIVE MEMBER' };
var role = parseInt(input);
return roleTypes[role];
};
});
使用:
{{user.ROLE | role}}