Maybe this is new but ng-grid actually publishes events which can be used to implement a simple update on change.
Event Reference: https://github.com/angular-ui/ng-grid/wiki/Grid-Events
Example code (add to controller where you setup the grid):
$scope.$on('ngGridEventEndCellEdit', function(evt){
console.log(evt.targetScope.row.entity); // the underlying data bound to the row
// Detect changes and send entity to server
});
One thing to note is that the event will trigger even if no changes have been made, so you may still want to check for changes before sending to the server (for example via ‘ngGridEventStartCellEdit’)