2014-12-15 2 views
-2

속성이 조건부로 요소에 추가되었지만 아무런 해결책도 얻지 못하면 지시문을 호출하려고합니다. HTML조건부로 추가 된 속성에 대한 호출 지시문

<input type="text" max-length="{{max_length}}" myElement/> 

다음

는 지시자에게

App.directive('maxlengthCounter', function($compile, $parse) { 

return { 
    require : 'ngModel', 
    scope : {}, 
    link : function(scope, element, attrs, ngModel) { 
     var maxLength = parseInt(attrs.maxLength); 

     if (maxLength) { 
      element.bind("keyup", function() { 
       var value = element[0].value; 
       element.val(value.substr(0, maxLength));    

      }); 
      } 

    } 
    }; 
    }); 

조건부

App.directive('myElement',function(){ 
return { 
restrict:"A", 
    scope : {}, 
    link : function(scope, element, attrs, ngModel) { 
    (attrs.max_length>0?angular.element(element).attr("maxlength- 
counter",""):''); 
    $compile(element.html())(scope); 
    } 
    }); 
+0

이 몇 가지 코드를 표시 작업, 당신은 무엇을 시도를 사용하여 무엇 이건 당신은해야합니까? –

+0

실제로 내가 지시어를 작성하고 요소에 속성을 조건부로 추가 한 다음 지시문을 호출하지 않았습니다. 그러나 속성을 정적으로 추가하면 지시문은 –

+1

으로 다시 호출됩니다. 코드를 게시하십시오. –

답변

0

귀하의 코드는 조건 만에 지시문 통화에 대한 괜찮 요소에 속성을 추가입니다 당신의 공동체에 다양한 실수를 저 지르다. maxLength을해야 my-element

  • (attrs.max_length > 0

    1. <input type="text" myElement이 있어야한다.

    2. element[0].children[0][index] ?? element[0]

    을 heres Demo

  • +0

    데모는 제공된 값에 따라 텍스트의 길이를 제한하지 않습니다. –

    관련 문제