javascript - AngularJS:更改指令属性

标签 javascript angularjs angularjs-directive

我有一个自定义指令,它根据指令属性值进行验证。

例如:<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/

相关文章:

javascript - 在 HTML 中嵌入 PDF 字节数据

javascript - 未捕获的类型错误 : Object #<Object> has no method 'superfish'

javascript + postgres : timezone and timestamp usage

javascript - cavsTxt.measureText 根据字体系列和字体大小为文本提供不同的宽度

javascript - Angularjs ngResource '@id'

angularjs - $rootScope.$broadcast 不起作用

javascript - Angular 选择中的按键事件?

javascript - ng-click + ng-repeat 并尝试更改面板样式

angularjs - 无法触发 Angular 和 ionic 文本框的焦点

angularjs - 作用域、ng-repeat 和指令