我有一个自定义指令,它根据指令属性值进行验证。
例如:<input type="text" ng-my-validate="onlyletters" />
我想更改onlyletters
值为 onlynumbers
即时并希望指令因此改变它的验证行为。
我怎样才能实现这个目标?
最佳答案
您应该使用attribute $observers
.
更新:@MatthewGreen 是正确的。我忽略了您没有使用插值的事实。在这种情况下,请考虑使用带有纯 jQuery 属性的 $watcher
读取:
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!
关于javascript - AngularJS:更改指令属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34681979/