2016-04-18 9 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.Role.RoleNameの)employee.RoleNameそれが働いています!私のコメントに掲載され

--EDIT--

enter image description here

+0

あなたの問題は何だった???? –

+0

@WasiqMuhammadフィルターが機能しません。 – Jamie

+1

このエラーを再現するにはどうすればいいですか?あなたの '従業員 'のデータ構造についての詳細を教えてください。 –

答えて

2

ソリューション:

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