2016-07-21 4 views
0

이상한 문제가 있습니다. DOM 요소에 add add 지시문을 클릭하려고합니다.클릭 이벤트로 DOM에 지시문을 추가하십시오.

var input = document.createElement("autocomplete"); 
angular.element(ev.target).append(input); 

여기서 ev.target은 마우스 클릭 이벤트입니다. 코드를 검사 할 때 지시문이 있지만 호출되지 않습니다. 클릭하지 않고 <autocomplete></autocomplete>처럼 외부에 추가하는 경우 모두 작동합니다. 모서리처럼 보이지 않는다.

+0

이상하지 않습니다. $ compile을 사용하여 지시문을 추가 한 후 DOM을 컴파일해야한다. – Ved

+0

당신은'$ compile'을 사용하여 그 요소를 컴파일 한 다음 DOM 안에 추가해야합니까? 현재 컴파일하지 않았습니다. 지시어가 초기화되지 않았습니다. –

답변

1

$compilehere을 참조하십시오.

주형 내로 HTML 문자열 또는 DOM 컴파일하고 함께 범위 및 템플릿 를 연결하는데 사용될 수있는 템플릿 함수를 생성한다.

위와 같이 삽입 한 새 요소를 컴파일하고 연결합니다 (directiveTag를 동작으로 설정).

유사한 코드 조각 아래에 사용법을 보여줍니다.

var newDirective = angular.element('<div directive-tag></div>'); 
element.append(newDirective); 
$compile(newDirective)($scope); 
관련 문제