AngularJS在指令中添加ng-click

时间:2012-11-22 09:24:05

标签: javascript jquery angularjs directive

我正在实施drag'n'drop指令。在drop上我向div添加了一个元素副本,并将ng-click属性添加到它:

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

例如,在控制器中我有

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

它不起作用。如果我手动在页面上添加此按钮,它可以正常工作。

2 个答案:

答案 0 :(得分:8)

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

答案 1 :(得分: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
});