2016-04-25 7 views
2

У меня проблемы с директивой xeditable. Onbeforesave не стреляет, хотя редактирование на месте прекрасно работает на стороне клиента. Я не могу получить никакой реакции ни от того, ни к другому.xeditable onbeforesave не работает

Я включил угловую версию 1.5.0 в свой проект. Я настраиваю элемент, как это, это в таблице:

<tr ng-repeat="job in jobs"> 
    <td>{{ job._id }}<i ng-click="removeJob(job._id)" class="fa fa-trash-o" aria-hidden="true"></i></td> 
    <td>{{ job.title }}</td> 
    <td editable-text="job.description" onbeforesave="alert('hello');">{{ job.description || "empty" }}</td> 
</tr> 

Но я не был в состоянии сделать предупреждение гаснет при нажатии кнопки сохранения.

ответ

1

Если вы посмотрите на the documentation:

Один способа представить данные на сервере, чтобы определить onbeforesave атрибут, указывающий на какие-то методы охвата

onbeforesave находящихся в методе области видимости, так alert('hello') в этом случае пытается вызвать метод $scope.alert, который не существует. Для того, чтобы сделать эту работу попробовать что-то вроде

// in your controller 

$scope.test = function(data) { 
    alert(data); 
}; 

// in your template 

<tr ng-repeat="job in jobs"> 
    <td>{{ job._id }}<i ng-click="removeJob(job._id)" class="fa fa-trash-o" aria-hidden="true"></i></td> 
    <td>{{ job.title }}</td> 
    <td editable-text="job.description" onbeforesave="test($data)">{{ job.description || "empty" }}</td> 
</tr> 
+0

Я использовал метод области действия ранее, но хотел бы упростить, поставив в боевой готовности .. Кажется, я перепутались на моей первой попытки потому что теперь, когда я применил метод scope, он сработал. Спасибо @jpopseculian – Phil

0

Вы должны дать e-form, как показано ниже (я только извлек неверный код только фрагмент).

Html

<td editable-text="job.description" e-form="tableform" 
onbeforesave="checkJob(job)">{{ job.description || "empty" }}</td> 

JS

$scope.checkJob= function(data) { 

    //your logic 

    };