-4

我需要帮助来使用Complexify创建AngularJS指令。这是一个密码表。我需要这个:

<input type="password" ng-model="password" />
<password-meter value="password" complexity="complexity"></passwordMeter>
<span class="label label-important" ng-show="complexity > 60">STRONG</span>

在我的例子中,当密码复杂度很高时,我<span>的就是显示。

我的代码:

app.directive('passwordMeter', function() {
    return {
      restrict: 'E',
      link: function link(scope, element, attrs) {
        var minLengthPassword = 6;
        var strengthScaleFactor = 1;

        $(element).complexify({
          minimumChars: minLengthPassword,
          strengthScaleFactor: strengthScaleFactor
        }, function(valid, complexity) {
          if(valid) {
            scope.complexity = complexity;
          } else {
            scope.complexity = 0;
          }
        });

        scope.$watch('password', function() {
          if(!scope.password) {
            scope.complexity = 0;
          }
        });
      }
    };
});
4

1 回答 1

0

您的代码有一些需要修复的错误:

  1. 如果您定义了一个驼峰式 (passwordMeter) 指令名称,它将映射到模板中的密码表
  2. 要将指令用作像您一样的元素,您需要设置限制:'E'而不是'A'
  3. jquery-complexify 适用于输入,因此您需要在指令中包含您在 password-meter 指令之外定义的输入并引用它。

我已经为你创建了一个工作 plunker http://plnkr.co/edit/PdK8U7q3GzWVVUX5alrS?p=preview

于 2013-10-29T12:50:10.427 回答