我有这个指令返回以下内容:
我想在这里做的是:
1-添加点击事件。
2-单击将绘制一个输入字段,
到目前为止,ng点击被添加到DOM中,但它没有调用add函数,正如你所看到的,我试图使用compile,但当我使用时,整个元素都不见了
我做错了什么?
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();
}
}
}
这将不起作用:
el = element.attr('ng-click', 'add()');
(你可以使用编译函数。只是链接函数做这件事太晚了)
你应该这样做:
el .on('click', add);
您还应该将add
的实现移动到控制器(或作用域)