angular指令中事件被屢次綁定的問題追究

最近在angular項目實施中,自定義了指令ui-tree指令,在測試階段發現了一個問題:
先來描述一下指令做用:在指令初始化時向服務器請求樹的第一層級數據,當點擊某個節點的時候,觸發click事件向服務器請求對應的子節點數據,將拿到的數據經過拼接html字符串的方式組合,element.append到當前的節點上。而後經過$compile服務對數據進行綁定渲染到頁面。關鍵代碼以下:

element.append(subMenuTemplate);
$compile($("[fatid]"))(scope); //根據屬性進行編譯
html

在測試階段發現了一個問題,當我點擊某個節點的時候會觸發屢次click事件,而且當我點擊的層級越深自動出發的click次數越多。
緣由:個人代碼在$compile編譯過程當中會給傳遞進去的Dom元素綁定了click事件,當我點擊一次節點,$compile執行一次,對應的執行一次綁定事件。若是$compile中傳參是同一個Dom,就會變成一個Dom節點被綁定了屢次事件。因此會發生在測試階段一次點擊觸發屢次執行的問題。
修改方案:每次編譯只對新生成的節點,這樣能夠避免被屢次綁定同一事件。
修改以後的代碼:

$compile(element.find("[fatid]"))(scope);
服務器