2014-10-26 65 views
1

我想將一個div(包含指令)的內容複製/顯示到另一個div中。 當我執行下面的指令時,顯示很好,但沒有任何功能,例如ng-click,work。AngularJS指令複製getElementById(myID).innerHTML

ng-click和其他選項在源div中工作,而不是在將其複製到目標中時使用。

此外,我沒有得到任何控制檯錯誤。

請指教。

var srcDiv = document.getElementById(id + '-content'); //contains directives + all working fine 
var dstDiv = document.getElementById(id + 'x'); //contains directives but no functionality or errors 

dstDiv.innerHTML = srcDiv.innerHTML; 

回答

1

你需要告訴角至$編譯內容。 Angular在任意時間都不會識別插入到DOM中的HTML位。

$compile服務注入到您正在進行DOM操作的任何位置。

var srcDiv = angular.element(document.getElementById(id + '-content')); 
var dstDiv = angular.element(document.getElementById(id + 'x')); 

dstDiv.html(srcDiv.html()); 

$compile(dstDiv)(scope); 
0

嘗試

... 
dstDiv.innerHTML = srcDiv.innerHTML; 
scope.$apply(); 
+0

錯誤:錯誤:inprog 操作已在進行中 – 2014-10-27 00:00:55