Сетка Angular не отображает значения, полученные ресурсом Angular

У меня есть простая ng-сетка, которая должна отображать таблицу пользователей, полученных в виде данных JSON:

<div class="gridStyle" ng-grid="gridOptions" ng-controller="GridDemoCtrl"></div>

angular.module('grid-demo', ['ngGrid', 'ngResource'])
  .controller('GridDemoCtrl', ['$scope', 'UserRes', function($scope, UserRes) {
    $scope.users = UserRes.query();
    $scope.gridOptions = {
      data: 'users',
      columnDefs: [
        {field:'name', displayName:'Name'},
        {field:'email', displayName:'Email'}
      ]
    };
  }])

  .factory('UserRes', ['$resource', function($resource) {
    return $resource('/site/users.json');
  }])
;

Я получаю пользователей с помощью ngResource, но они не отображаются в таблице. Я вижу, что данные JSON возвращаются из запроса AJAX. Я помещаю точку останова в код ресурса и вижу, как данные обрабатываются во внутреннем обратном вызове. Он просто не обновляет сетку, когда возвращается. Я новичок в Angular; я что-то упускаю? Любые предложения высоко ценятся.


person Franz Amador    schedule 25.09.2014    source источник
comment
Проверьте этот q stackoverflow.com /вопросы/23919962/   -  person Gordon Bockus    schedule 26.09.2014


Ответы (1)


Пожалуйста, смотрите здесь http://plnkr.co/edit/C7QvLS?p=preview

переместите контроллер выше директивы ng-grid

 <div ng-controller="GridDemoCtrl">
    <div class="gridStyle" ng-grid="gridOptions" ></div>
   </div>
person sylwester    schedule 25.09.2014
comment
Спасибо! Это исправило это. Я думал, что пробовал это, но, похоже, нет. Я предполагаю, что проблема в том, что сетка не была в области действия контроллера, как у меня. - person Franz Amador; 26.09.2014