AngularJS 进阶(二) 解决form验证时ng-repeat不能先解析name值问题

1.自定义指令

.directive("dyName", [

        function() {
          return {
            require: "ngModel",
            link: function(scope, elm, iAttrs, ngModelCtr) {
              ngModelCtr.$name = scope.$eval(iAttrs.dyName)
              var formController = elm.controller(‘form‘) || {
                $addControl: angular.noop
              };
              formController.$addControl(ngModelCtr);

              scope.$on(‘$destroy‘, function() {
                formController.$removeControl(ngModelCtr);
              });

            }
          };
        }
      ])

2.引入指令

<div ng-repeat="item in demo.fields">
      <div class="control-group">
        <label class="control-label"> : </label>
        <div class="controls">
          <input type="number"  dy-name="item.field" ng-model="demo.data[item.field]" min="10" max="500" ng-required="true"/>
        </div>
      </div>
    </div>



郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。