Я новичок в синтаксических анализаторах и форматировщиках. У меня есть директива, которая будет делать валидацию при изменении модели. Один из способов сделать это - это часы $ watch, но из того, что я понимаю, это не очень хороший способ, поскольку он позволяет обновлять модель.Функция Parser не вызвана для изменения входного текстового поля
Так что я смотрел на анализаторах и попробовал этот код
app.directive('myDirective', function($compile) {
return {
restrict: 'E',
require: 'ngModel',
scope: {
},
link: function($scope, elem, attr, ctrl) {
console.debug($scope);
ctrl.$formatters.push(function(value) {
console.log("hello1");
return value;
});
ctrl.$parsers.unshift(function(value) {
debugger;
console.log("hello");
return value;
});
}
};
});
Но функция анализатора никогда не вызываются. Форматирование вызывается один раз. Please see the plunkr. Может кто-нибудь сказать мне, что я делаю неправильно, почему функция парсера не получает вызов, когда я набираю текстовое поле?
попробовал ctrl. $ Parsers.push, по-прежнему не работает – Abhik