将ng-model添加到动态指令中

时间:2013-07-25 10:09:15

标签: angularjs angularjs-directive angular-ui angularjs-ng-repeat

我正在尝试使用以下代码在ng-repeat中创建动态指令:

app.directive('element', function($compile) {
     return {
       restrict: 'E',
        link : function (scope,element,attr)
        {
            attr.$observe('type', function (val) {
                scope.type = val;
              });

              attr.$observe('value', function (val) {
                scope.value = val;
              });

               attr.$observe('name', function (val) {
                scope.name = val;
              });

              scope.$watch(function()
              {

                formFieldTemplate= $('<a>').attr('m',scope.name).attr('class',scope.type).attr('value',scope.value); 
                $compile(formFieldTemplate)(scope); 
                $(element).replaceWith(formFieldTemplate);

              })

        }
    }
    });

supa.directive('Textbox', function($compile) {
    return {
        restrict: 'C',
        link : function (scope,element,attr)
        {
                    formFieldTemplate= $('<input>').attr('type','text').attr("ng-model","mm."+attr.m); 
                    $compile(formFieldTemplate)(scope); 
                    var formListElement = $(element);
                    formListElement.replaceWith(formFieldTemplate);
        }
    }
})

此代码显示正确的字段。 但是当我把ng-model放在textbox指令中时,我得到一个错误 Error: 10 $digest() iterations reached. Aborting! 如果我删除文本ng-model,一切正常。 包装元素标签的ng-repeat返回我将使用的指令。 我有更多的指令,如textbox,textarea,checkbok等。

0 个答案:

没有答案