У меня есть настраиваемая директива, которая выполняет проверку, основанную на значении атрибута директивы.
например: <input type="text" ng-my-validate="onlyletters"/>
Я хочу, чтобы изменить onlyletters
значение onlynumbers
на лету и хотите директивы изменить его поведение проверки из - за этого.
Как я могу это достичь?
Вы должны использовать атрибутные $observers
.
UPDATE: @MatthewGreen - это правильно. Я упустил из виду тот факт, что вы не используете интерполированное значение. В этом случае рассмотрим использование $watcher
с простым атрибутом jQuery:
angular.module('mod', [])
.directive('ngMyValidate', function() {
return {
link: function(scope, elm, attr) {
scope.$watch(function() {
return elm.attr('ng-my-validate');
}, function(value) {
console.log('attribute changed:', value);
});
}
};
});
Спасибо @MatthewGreen!
pattern
HTML5 илиpattern
AngularJSng-pattern
?