2015-01-13 5 views
0

각도 지시문을 통해 기존 컨테이너에 일부 html을 추가하려고합니다. 여기에 동일한 코드를 작성했습니다. 여기 버튼을 클릭 할 때 템플릿을 추가하는 각도

app.directive("addActivityRow", function($compile){ 
var template = "Some html template" 
return{ 
    restrict: 'A', 
    link: function(scope, element,attrs,controller){ 
     element.on("click", function() { 
      console.log("clicked on add row"); 
      element.parent().append(template); 
     }); 
    } 
} 
}); 

는 HTML 마크 업

<a href="javascript:void(0);" addActivityRow class="add" title="Add Row"></a> 

어느 한 내가 한 짓 오류를 수정에서 저를 도와 주실 수 있습니까? 앵커 태그를 클릭하면 아무 일도 일어나지 않으며 콘솔에 아무것도 기록되지 않습니다. 이와

href="javascript:void(0);" 

을 :

href="" 

을 그리고 @PSL로 대신 addActivityRow의 추가 활동 행을 사용하여 내가 도와주세요 각도에 새로운 오전

..

+0

오타? 'addActivityRow'는 뷰에서'add-activity-row'이어야합니다. 지시어 이름은 [보기] (http://plnkr.co/edit/4Y2CAjrPEmeDR7mq3Sw3?p=preview)에서 대시 제한 속성으로 사용됩니다. – PSL

+0

, 감사 PSL. 이제 또 다른 질문이 있습니다. 속성 'add-activity-row'가있는 앵커 태그도 템플릿에 포함됩니다. 동적으로 생성 된 요소에서 클릭 이벤트에 지시문을 바인딩하려면 어떻게해야합니까? – BeginnertoUI

+0

내가 $ compile()을 사용해야합니까? – BeginnertoUI

답변

1

이 교체 지시어 이름은 뷰에서 대시가 제한된 속성으로 사용된다고 언급했다.


<a href="" add-activity-row class="add" title="Add Row"></a> 
+0

Bhojendra sah에서 점프 해 주셔서 고마워요. "javascript : void (0);"을 삭제하려고했습니다. 클릭하면 루트 URL로 이동했습니다. – BeginnertoUI

+0

사용 e.preventDefault(); –

+0

내 콘솔의 로그는 다음과 같습니다. 두 번 추가하고 두 번 삭제하려고했습니다. 내가 두 번째로 삭제를 클릭했을 때. 콘솔에 2가 아닌 3이 표시됩니다. 그 다음에 add를 클릭하면 5 개의 요소가 추가됩니다. 2 행 추가 app.js (138 행) 3 행 삭제를 클릭합니다. – BeginnertoUI

관련 문제