UI-网格数据未更新

UI-grid data is not updating

我在我的项目中使用 ui-grid,对于 ui-grid 配置,我正在设置网格数据,如下所示:

$scope.gridOptions ={

  data : $scope.data,
  columnDef:$scope.couumnDefs

};

我正在这里进行服务调用,我正在从数据库获取网格,

myService.getData().then(function(data) {
                        var status = data.status;
                        if (status == 0) // success
                        {
                            $scope.data= data.gridData;
                           $scope.columnDef= data.gridCoulmunDef;
                        }
                    }, function(errorMessage) {
                        $scope.error = errorMessage;
                    });

但是网格数据没有更新,我想在$scope.data中做一些修改,但它没有更新,但是这里缺少angular双向数据绑定的主要概念

任何人都可以建议我需要做什么,或者我做错了什么。

提前致谢!!!!

尝试使用

   $scope.gridOptions ={

   data : [],
   columnDef:[]

   };
 $scope.data=[];
 $scope.couumnDefs=[];

 myService.getData().then(function(data) {
                    var status = data.status;
                    if (status == 0) // success
                    {
                        $scope.data= data.gridData;
                       $scope.columnDef= data.gridCoulmunDef;
                    }
                }, function(errorMessage) {
                    $scope.error = errorMessage;
                });

 $scope.gridOptions.data=$scope.data;
 $scope.gridOptions.columnDef=$scope.couumnDefs;

希望对你有用。

像下面这样更新它并尝试

myService.getData().then(function(data) {
                    var status = data.status;
                    if (status == 0) // success
                    {
                        $scope.data= data.gridData;
                       $scope.columnDef= data.gridCoulmunDef;
                        $scope.gridOptions.data = $scope.data;
                       $scope.gridOptions.columnDef= $scope.columnDef;
                    }
                }, function(errorMessage) {
                    $scope.error = errorMessage;
                });

服务调用后需要重新分配coldef和data。

我不得不在几个不同的项目中解决这个问题,这个方法对我有用:

  Restangular.all("block_sets/"+<%= params[:id] %> + "/addblock").customPOST(postParams
            ).then(function (data) {
                $scope.gridOptions.data = _.map(data.array, function (d) {
                    return {
                        exampleheader:   d.exampledata,
                        resource:        d
                    };
                });

            }).then(function() {
                $scope.gridApi.grid.modifyRows($scope.gridOptions.data);
                $scope.gridApi.core.refresh();
            });

请注意,我将 Restangular 与 Rails4 一起使用。技巧是在GridOptions中完成对数据集的应用,然后调用modifyRows()和refresh()。