2014-01-09 124 views
0

我在我們的一個項目中使用了角度。 這裏是我們的用戶表:AngularJs:基於值的不同佔位符

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' }} 

回答

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}} 

http://docs.angularjs.org/tutorial/step_09

+0

謝謝!那很整齊 :) – VishwaKumar