2012-11-22 4 views
10

나는 drag'n'drop 지시어를 구현하고 있습니다. 드롭에 나는 내 사업부에 요소의 사본을 추가하고이 같은 그것에 ng-click 속성 추가 : 예를 들어지시문에 클릭을 추가 AngularJS

copy.append('<button class="close" ng-click="abc()">&times;</button>'); 

를, 내가

$scope.abc = function() { 
    alert('Hello!'); 
} 

이 컨트롤러 그리고 그것은 작동하지 않습니다. 수동으로 페이지에이 버튼을 추가하면 정상적으로 작동합니다.

답변

0

AngularJS가 인식 할 수 있도록 새 템플릿을 컴파일해야합니다. 문서는 ng.$compile을 사용하는 좋은 예입니다.

복제가과 같이 다음을 수행 할 수 있습니다 :

var templateHTML = angular.element('<p>{{total}}</p>'), 
    scope = ....; 

var clonedElement = $compile(templateHTML)(scope, function(clonedElement, scope) { 
    //attach the clone to DOM document at the right place 
}); 
8
copy.append('<button class="close" ng-click="abc()">&times;</button>'); 
$compile(copy)($scope);