2012-11-22 77 views
10

我正在實施drag'n'drop指令。在我滴元素的副本添加到我的股利和追加ng-click屬性,它是這樣的:AngularJS在指令中添加ng-click

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);