我有一个输入指令,应该允许用户撤消.
Enter使用某个功能保存值,Esc取消编辑上次保存.
对于Esc keypress事件,我使用的是ngmodel.$setViewValue(scope.last_saved_value),但输入没有更新.我从docs知道这个函数不会触发$digest,所以我把它放在$apply中,但它仍然无效.
我通常都包含并要求ngModel:
原文链接:https://www.f2er.com/angularjs/140989.htmlapp.directive('cancelableInput',function($timeout) { return { restrict : "A",require : 'ngModel',scope: { ngModel: '=?' },
然后,当您想要更改模型值并让它更新时,您可以这样做:
scope.$apply(function() { scope.ngModel = scope.last_saved_value; });