2013-03-08 69 views
0

在項目中使用AngularJS。在我看來,我重複了一些員工,並在屏幕上顯示他們。這一工程,但我必須使用代碼的AngularJS ng-repeat通過json查詢

<li ng-repeat="employee in employees.employee"> 

代替

<li ng-repeat="employee in employees"> 

爲什麼不能我直接在不同的JSON對象訪問員工循環?

我的項目的代碼片段:

控制器

Test.controller('EmployeeListController', function($scope, Employee) { 
    $scope.employees = Employee.query(); 
}); 

HTML查看

<ul> 
    <li ng-repeat="employee in employees.employee"> 
     <a href="mailto:{{employee.email}}" title="{{employee.email}}">{{employee.firstName}} {{employee.lastName}} ({{employee.email}})</a> 
    </li> 
</ul> 

Test.factory('Employee', function ($resource) { 
    return $resource('/TestServer/rest/employees/:employeeId', {}, { 
     update: {method:'PUT'}, 
     query: {method:'GET', isArray:false} 
    }); 
}); 

JSON響應

{"employee":[{"created":null,"description":"TestDescription","email":"TestMail","firstName":"TestFirstName","id":"1","image":"TestImage.jpg","lastModification":null,"lastName":"TestLastName","phone":"121212121212"},{"created":null,"description":"TestDescription","email":"TestEmail","firstName":"TestFirstName","id":"2","image":"TestImage2.jpg","lastModification":null,"lastName":"TestLastName","phone":"2124343434"}]} 
+1

您的實際服務器響應是否返回數組?您的後端API有可能將您的集合包裝在「根節點」中,在這種情況下,它將成爲「員工」。 – Stewie 2013-03-08 11:24:35

回答

2

中繼器在數組上重複。並在你的迴應中給你一個對象。該數組實際上是僱員屬性(在您的JSON響應,也是因爲isArray:false)

+0

我可以看到數組在僱員屬性上。但我想知道爲什麼它會像這樣回來。我也嘗試將isArray更改爲true,但這並沒有改變任何內容。 – NDY 2013-03-08 10:23:55

+3

@它取決於你的服務器實現 – 2013-03-08 11:22:06

+0

@ArunPJohny是正確的。設置POJOMappingFeature後,它可以工作... – NDY 2013-03-14 12:59:38