自定义指令添加ng单击然后绘制输入元素



我有这个指令返回以下内容:

我想在这里做的是:

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的实现移动到控制器(或作用域)

最新更新