2012-11-22 31 views
10

Tôi đang thực hiện lệnh kéo thả. Mở thả tôi thêm một bản sao của yếu tố để div của tôi và thêm ng-click thuộc tính để nó như thế này:AngularJS thêm ng-click theo chỉ thị

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

Ví dụ, trong điều khiển Tôi có

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

Và nó không hoạt động. Nếu tôi thêm nút này trên trang theo cách thủ công thì nó hoạt động tốt.

Trả lời

0

Tôi đoán rằng bạn cần phải biên dịch mẫu mới của bạn để AngularJS nhận ra nó. Tài liệu cung cấp cho bạn một ví dụ tốt về cách sử dụng ng.$compile.

Cloning thể được thực hiện sau đó như vậy:

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); 
Các vấn đề liên quan