2014-10-26 74 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