我在我的项目中使用ui-grid,对于ui-grid配置我正在设置网格数据,如下所示:
$scope.gridOptions ={
data : $scope.data,
columnDef:$scope.couumnDefs
};
我正在这里进行服务呼叫,我正在从DB获取网格,
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中做一些修改,但它没有更新,但是这里缺少角度双向数据绑定的主要概念
任何人都可以建议我需要做什么,或者我做错了。
提前致谢!!!!
答案 0 :(得分:1)
我必须在几个不同的项目中解决这个问题,这种方法对我有用:
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()。
答案 1 :(得分:0)
尝试使用
$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;
希望它对你有用。
答案 2 :(得分:0)
如下所示更新,然后尝试
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和数据。