DEMO
Why in the following example $render
is not called when the button is clicked?
ngModel.$render
is working, when calling $render
in the $apply
.
app.directive('changecase', function ($timeout) {
return {
restrict: 'A',
require: 'ngModel',
priority: 1,
link: function (scope, element, attrs, ngModel) {
//format text going to user (model to view)
ngModel.$formatters.push(function(value) {
return value.toUpperCase();
});
//format text from the user (view to model)
ngModel.$parsers.push(function(value) {
return value.toUpperCase();
});
element.on('blur keyup change', function() {
scope.$apply(function(){
ngModel.$setViewValue(ngModel.$modelValue);
ngModel.$render();
});
});
}
}
});