I got an input directive that should allow users to undo.
Enter saves the value using some function, Esc Cancel edits from the last save.
For the Esc keypress event i'm using ngmodel.$setViewValue(scope.last_saved_value)
but the input is not updating. I know from the docs that this function does not trigger $digest
so i put it in an $apply
but it is still not working.
JSBIN example
Try calling ngmodel.$render();
after you do $setViewValue
, it should help.
I usually both include and require the ngModel
:
app.directive('cancelableInput', function($timeout) {
return {
restrict : "A",
require : 'ngModel',
scope: {
ngModel: '=?'
},
Then, when you want to change the model value and have it update, you can just do:
scope.$apply(function() {
scope.ngModel = scope.last_saved_value;
});
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With