[英]AngularJS adding ng-click in directive
I'm implementing drag'n'drop directive. 我正在实现拖放指令。 On drop I add a copy of element to my div and append
ng-click
attribute to it like this: 在放下时,我将元素的副本添加到div中,并向其附加
ng-click
属性,如下所示:
copy.append('<button class="close" ng-click="abc()">×</button>');
For example, in controller I have 例如,在控制器中
$scope.abc = function () {
alert('Hello!');
}
And it doesn't work. 而且它不起作用。 If I add this button on page manually it works fine.
如果我在页面上手动添加此按钮,则效果很好。
copy.append('<button class="close" ng-click="abc()">×</button>');
$compile(copy)($scope);
I guess that you do need to compile your new template so that AngularJS recognizes it. 我猜您确实需要编译新模板,以便AngularJS识别它。 The docs give you a good example for how to use
ng.$compile
. 该文档为您提供了有关如何使用
ng.$compile
的好示例。
Cloning can be done then like so: 然后可以像这样进行克隆:
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
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.