我有一个由表单更新的网格。用户点击一行,填写表单,用户编辑这些值,然后提交它们。
VehicleController.js
$scope.saveEdition = function (vehicle) {
$scope.message = null;
$scope.errors = [];
if (!vehicle.id) { // Create
//...
} else { // Update
VehicleService.update(vehicle)
.success(function (data) {
$scope.message = data.message;
// Here comes the issue
VehicleService.list().then(function (vehicles) {
$scope.vehicleGrid.data = vehicles;
$scope.vehicleGrid.columnDefs = ProcedureService.getColumns(vehicles[0], 'vehicle');
});
}).error(function (data) {
$scope.errors = data.errors;
});
}
};
VehicleService.js
factory.list = function() {
return $http.get('vehicles/').then(function (results) {
return results.data;
});
};
工厂方法更新工作正常,但当您再次尝试列出时,更新数据网格( $ scope.vehicleGrid.data = vehicles ,vehicleGrid是Ui-Grid api中的 gridOptions )没有任何反应。
我已经尝试在 VehicleService.list()... 函数的末尾添加它:
$scope.gridApi.core.notifyDataChange(uiGridConstants.dataChange.EDIT);
但网格没有刷新。
任何人都知道发生了什么?提前谢谢!