我有一个输入指令,应该允许用户撤消。
Enter使用某些功能保存值,Esc取消上次保存的编辑。
对于Esc我正在使用ngmodel.$setViewValue(scope.last_saved_value)
但输入未更新的按键事件。我从文档中知道这个功能不会触发$digest
,所以我把它放在一个$apply
但它仍然不起作用。
我有一个输入指令,应该允许用户撤消。
Enter使用某些功能保存值,Esc取消上次保存的编辑。
对于Esc我正在使用ngmodel.$setViewValue(scope.last_saved_value)
但输入未更新的按键事件。我从文档中知道这个功能不会触发$digest
,所以我把它放在一个$apply
但它仍然不起作用。
ngmodel.$render();
打完电话试试$setViewValue
,应该有帮助。
我通常包括并要求ngModel
:
app.directive('cancelableInput', function($timeout) {
return {
restrict : "A",
require : 'ngModel',
scope: {
ngModel: '=?'
},
然后,当您想更改模型值并对其进行更新时,您可以这样做:
scope.$apply(function() {
scope.ngModel = scope.last_saved_value;
});