Если у вас большой вложенный объект JSON и его использование на нескольких экранах, вы можете столкнуться с проблемами производительности при загрузке страницы. Я всегда использую небольшие индивидуальные объекты JSON и запрашиваю связанные объекты как ленивую нагрузку только там, где они требуются.
вы можете добиться этого, используя ng-init
<td class="lectureClass" ng-repeat="s in sessions" ng-init='presenters=getPresenters(s.id)'>
{{s.name}}
<div class="presenterClass" ng-repeat="p in presenters">
{{p.name}}
</div>
</td>
Код на сторона контроллера должна выглядеть ниже
$scope.getPresenters = function(id) {
return SessionPresenters.get({id: id});
};
Хотя фабрика API выглядит следующим образом:
angular.module('tryme3App').factory('SessionPresenters', function ($resource, DateUtils) {
return $resource('api/session.Presenters/:id', {}, {
'query': { method: 'GET', isArray: true},
'get': {
method: 'GET', isArray: true
},
'update': { method:'PUT' }
});
});