2016-02-05 1 views
1

Вот пример кода. У меня есть шаблон ячейки (текстовое поле) внутри ui-grid. Я хотел бы использовать событие ng-blur, когда значение текстового поля изменяется, но это событие не срабатывает.Событие ng-blur не работает на шаблоне ячейки ui-grid.

{ 
    name: "Amount", displayName: "Amount", enableFiltering: false, 

    cellTemplate: '<input type="text" ng-model="row.entity.Amount" ng-blur="updateEntity(row.entity)"></input>' 
} 

Может кто-либо пересечь этот сценарий или использовать ng-blur в шаблоне ячейки ui-grid. Спасибо.

+0

которой угловой версии вы используете? –

+0

Угловая версия v1.4.8 – Naga

ответ

1

и может использовать родную API для этого:

$scope.gridOptions.onRegisterApi = function(gridApi){ 
    //set gridApi on scope 
    $scope.gridApi = gridApi; 
    gridApi.rowEdit.on.saveRow($scope, $scope.saveRow); 
}; 

$scope.saveRow = function(rowEntity) { 
// create a fake promise - normally you'd use the promise returned by $http or $resource 
var promise = $q.defer(); 
$scope.gridApi.rowEdit.setSavePromise(rowEntity, promise.promise); 

// or call your logics here with returning promise.reject() - on error or promise.resolve() - on success 

// fake a delay of 3 seconds whilst the save occurs, return error if gender is "male" 
$interval(function() { 
    if (rowEntity.gender === 'male'){ 
    promise.reject(); 
    } else { 
    promise.resolve(); 
    } 
}, 3000, 1); 

учебника ссылки http://ui-grid.info/docs/#/tutorial/205_row_editable