2

각도를 사용하여 속성 (또는 적어도 그 값)을 제거하려면 어떻게해야합니까? 구체적으로 말해서 ng-click 이벤트가 있다고 가정 해 보겠습니다. 이 작업은 한 번만 실행하면됩니다.이 작업을 수행하는 가장 쉬운 방법은 ng-click 이벤트에서 '자체 삭제'하는 것입니다. 클릭 이벤트 리스너가 여전히 속성을 제거한 후이되기 때문에 NG 클릭 속성을 제거각도 요소에서 속성을 제거하려면 어떻게해야합니까?

elementClicked = function(){ 
    //do work 
    element.ngClick=null; 

} 

답변

4

의 라인을 따라 뭔가가 작동하지 않습니다. ng-click 바인딩을 null로 설정해야합니다.

클릭하여 지시어를 만들었습니다. 요소 클릭 이벤트를 수신하고 ng-click 바인딩을 처음 실행 한 다음이를 제거합니다. 여기

<button click-once ng-click="doThis()>my button<button> 

jsFiddle입니다 : 여기

.directive('clickOnce', function() { 
    return { 
    scope: { 
     'ngClick': '&' 
    }, 
    link: function(scope, element) { 
     element.bind('click', function() { 
     if (scope.ngClick) { 
      scope.ngClick(); 
      scope.ngClick = null; 
     } 
     }); 
    } 
    } 
}); 

는 마크 업입니다.

+0

궁금한 점이 있나요? 사용 사례는 무엇입니까? – glepretre

+0

@vjarysta를 주셔서 감사합니다. 나는 그것이 받아 들여 져야한다고 생각한다 :) – halilb

관련 문제