2016-04-18 141 views
0

我有一個過濾器,所以你可以過濾一個角色。它看起來像這樣:Angularjs過濾器錯誤

<h3>Role</h3> 
<form> 
    <div class="radio radio-primary"> 
     <label> 
      <input checked="checked" ng-click="homeCtrl.roleFilter = ''" name="role" type="radio"/><span class="circle"></span><span class="check"></span>Alles 
     </label> 
    </div> 

    <div class="radio radio-primary" ng-repeat="employee in homeCtrl.employees | unique:'Role.RoleName'"> 
     <label> 
      <input ng-click="homeCtrl.roleFilter = employee.Role.RoleName" name="role" type="radio"/><span class="circle"></span><span class="check"></span>{{ employee.Role.RoleName }} 
     </label> 
    </div> 
</form> 

<table class="table table-hover"> 
    <thead> 
    <tr> 
     <th>Functie</th> 
     <th>Bedrijf</th> 
     <th>Naam</th> 
     <th>Achternaam</th> 
    </tr> 
    </thead> 
    <tbody> 
    <tr ng-repeat="employee in homeCtrl.employees | filter: { Role.RoleName: homeCtrl.roleFilter }" ng-click="homeCtrl.redirectToShow(employee.EmployeeId,$event)"> 
     <td>{{ employee.Role.RoleName }}</td> 
     <td>{{ employee.Department.Company.CompanyName }}</td> 
     <td>{{ employee.FirstName }}</td> 
     <td>{{ employee.LastName }}</td> 
     <td ng-if="homeCtrl.canEditAdmin || homeCtrl.canEditInternAdmin && employee.Role.RoleName == 'Stagiaire'" ng-click="homeCtrl.redirectToEdit(employee.EmployeeId,$event)"><span class="glyphicon glyphicon-pencil"></span></td> 
    </tr> 
    </tbody> 
</table> 

但它不工作。當我在我的控制器中輸入console.log時,一切都會收到。什麼可能是錯的?

錯誤消息:

Error: $parse:syntax 
Syntax Error 
Syntax Error: Token '.' is unexpected, expecting [:] at column 36 of the expression [homeCtrl.employees |] starting at [{4}]. 

當我把RoleName直接僱員對象是這樣的:employee.RoleName(而不是employee.Role.RoleName)它的工作?

- 編輯 -

enter image description here

+0

什麼是你的問題???? –

+0

@WasiqMhamhammad我的過濾器不工作。 – Jamie

+1

你有一個plunker鏈接來重現這個錯誤嗎?或者您能否給我們提供更多有關您員工數據結構的信息? –

回答

2

解決方案,張貼在我的評論:

filter: { Role:{RoleName: homeCtrl.roleFilter }}