我遇到了xeditable指令的问题。即使就地编辑在客户端工作正常,onbeforesave也不会触发。我无法通过onbeforesave或onaftersave得到任何反应。
我在项目中包含了角度版本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>
但点击保存后,我无法使警报响起。
答案 0 :(得分: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>
答案 1 :(得分:0)
您必须提供fixed
,如下所示(我只提取了错误的代码段)。
HTML 的
e-form
JS
<td editable-text="job.description" e-form="tableform"
onbeforesave="checkJob(job)">{{ job.description || "empty" }}</td>