我有这个指令返回以下内容:
我在这里要做的是:
1-添加点击事件。
2 - 此次点击将绘制一个输入字段
到目前为止,ng-click正在添加到DOM中,但它不会调用add函数, 你可以看到我试图使用编译,但是当我使用它时整个元素都消失了
我做错了什么?
return {
link: function($scope, element, attrs) {
$scope.add = add;
$scope.remove = remove;
el = element.attr('ng-click', 'add()');
// $compile(el);
function add(){
console.log("inside addinput<<<<<<")
var element = '<div>\
<input type="text"/>\
<button ng-click="remove()">Save</button>\
<button ng-click="remove()">Close</button>\
</div>';
newElement = $compile(newElement)($scope);
element.append(newElement)
}
function remove(){
newElement.remove();
}
}
}
答案 0 :(得分:1)
这不起作用:
el = element.attr('ng-click', 'add()');
(你可以使用编译功能。只是链接功能是一个太晚的阶段才能做到这一点)
你应该这样做:
el .on('click', add);
此外,您应该将add
的实现移动到控制器(或范围)