我正在实施drag'n'drop指令。在drop上我向div添加了一个元素副本,并将ng-click
属性添加到它:
copy.append('<button class="close" ng-click="abc()">×</button>');
例如,在控制器中我有
$scope.abc = function () {
alert('Hello!');
}
它不起作用。如果我手动在页面上添加此按钮,它可以正常工作。
答案 0 :(得分:8)
copy.append('<button class="close" ng-click="abc()">×</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
});