2015-11-01 45 views
0

我有這個指令返回如下:自定義指令添加納克單擊然後繪製輸入元素

什麼,我想在這裏做的是:

1-添加單擊事件。

2,點擊此畫將一個輸入字段,

至今,NG-點擊被添加到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(); 
     } 
    } 
} 

回答

1

這是行不通的:

el = element.attr('ng-click', 'add()'); 

(你可以使用編譯功能,爲此,它只是鏈接功能是太后期階段做到這一點。)

你應該這樣做:

el .on('click', add); 

另外,您應該將add的實施移至cont滾筒(或範圍)

+0

好的,你是正確的:) @Royi我添加了一個控制器,它的工作,只是一個小意見你的意思element.on('click',$ scope.add)不添加,也怎麼樣刪除?現在它不工作你有關於它的評論? – sisimh

+0

其實你可以同時使用這兩個地方,但控制器應該是這個地方http://plnkr.co/edit/lekbrXKbMuj7GYwPBNTa?p=info –

+0

明白你的意思,說我想通過點擊傳遞$事件,做$事件.preventDefault(),我怎麼能實現呢? – sisimh