2015-01-13 22 views
0

我想通過角度指令將一些HTML附加到現有的容器。這裏是我寫的相同的代碼。angular添加一個模板點擊按鈕

app.directive("addActivityRow", function($compile){ 
var template = "Some html template" 
return{ 
    restrict: 'A', 
    link: function(scope, element,attrs,controller){ 
     element.on("click", function() { 
      console.log("clicked on add row"); 
      element.parent().append(template); 
     }); 
    } 
} 
}); 

這裏是HTML標記

<a href="javascript:void(0);" addActivityRow class="add" title="Add Row"></a> 

任何一個可以請幫我糾正我做了什麼錯誤?當我點擊錨標記時,什麼也沒有發生,沒有任何日誌在控制檯上。與此

href="javascript:void(0);" 

我是新來的角請幫助..

+0

錯字?在視圖中'addActivityRow'應該是'add-activity-row'。指令名稱在[view](http://plnkr.co/edit/4Y2CAjrPEmeDR7mq3Sw3?p=preview)中用作短劃線限制屬性。 – PSL

+0

工作,謝謝PSL。現在我有另一個問題。屬性爲'add-activity-row'的錨標籤也將位於模板中。我該如何綁定指令來點擊動態生成的元素上的事件? – BeginnertoUI

+0

我應該去$ compile()嗎? – BeginnertoUI

回答

1

替換此

href="" 

而且使用附加活動行,而不是作爲addActivityRow @PSL提到指令名稱在視圖中用作短劃線限制屬性。


<a href="" add-activity-row class="add" title="Add Row"></a> 
+0

感謝您在Bhojendra sah中跳躍..我嘗試刪除「javascript:void(0);」。當我點擊時,它將我帶到根網址。 – BeginnertoUI

+0

使用e.preventDefault(); –

+0

這是來自我的控制檯的日誌。 我試過添加兩次並刪除兩次。當我第二次點擊刪除。控制檯顯示3而不是2.之後,當我點擊添加,它附加了5個元素。 2點擊添加行app.js(第138行) 3點擊刪除行 – BeginnertoUI