Angular UI ng-grid绑定到$ resource

时间:2014-07-13 02:26:38

标签: angularjs ng-grid angularjs-resource

我试图使用$ resource将数据绑定到angular-ui ng-grid但是某些东西不起作用 - 选项正在应用于网格,并且指令正在工作,我可以看到列标题,但没有数据

服务/工厂

angular.module('app').factory('mvVegetableService',function($resource){
    var myVegetableResource = $resource('/api/vegetable/:_id', {_id:"@id"}, {
        update: {method:'PUT', isArray: false}
    });

    return myVegetableResource;

});

控制器

angular.module('app').controller('mvVegetableCtrl', function($scope, mvVegetableService){
   $scope.vegetableService = mvVegetableService.query();
   $scope.dataVegetables = {};
   $scope.vegetableGridOptions = {
      data: $scope.dataVegetables,
      columnDefs:[{
         field: "colorCode",
         displayName: "Color Code"
      }]
   };
   $scope.vegetableService.$promise.then(function(vegetables){
      $scope.dataVegetables = vegetables;

      console.log(vegetables);
      // this outputs 
      // 0: Resource
          // expanded
             // $$hashKey: "00D"
             //       __v: 0
             //       _id: "xxxxxxxxxxxxxxxxxxxxxxxxxxx"
             // colorCode: "GREEN"
      // 1: Resource
      // $promise: Object
          // expanded
            // catch: function (callback) {
            // finally: function (callback) {
            // then: function (callback, errback, progressback) {
            // __proto__: Object
            // $resolved: true
            // length: 2
      // $resolved: true
      // length: 2
      // __proto__: Array[0]
   });
});

在同一页面/控制器上,我能够重复选择元素中的选项,并且工作正常。

1 个答案:

答案 0 :(得分:1)

据我所知,ng-grid的data属性需要是一个字符串。所以而不是:

data: $scope.dataVegetables

尝试:

data: "dataVegetables"