获取Angular ngRepeat InnerHTML

时间:2014-12-16 14:48:17

标签: javascript jquery html angularjs

我想知道如何获得 Angular ngRepeat 完整,纯HTML 。 我需要它来创建报告,提醒部分代码等。

我使用$ compile,我已经能够通过编译获得简单标签的HTML

<p>I am {{surname}}, {{name}} {{surname}}</p>

我得到的是

<p>I am Bond, James Bond<p>

但是当我尝试用

做同样的事情时
<p ng-repeat="number in array">{{number}}</p>

我只收到Angular的评论

<!-- ngRepeat -->

而不是系列段落。 请查看此Fiddle以获取示例。

1 个答案:

答案 0 :(得分:1)

为了使Angular能够编译ngRepeat指令,它必须在DOM中。 Angular找到相应的注释,并将其替换为实际的HTML结构。

所以你需要做的就是将已编译的注释节点附加到DOM,在呈现之后你可以检索HTML。

$scope.html = $compile('<p ng-repeat="el in arr">{{el}}</p>')($scope);
document.getElementById('app').appendChild($scope.html[0]);

演示:http://jsfiddle.net/d4p0qLx2/2/

在下一个摘要周期中,您可以获得呈现的HTML: http://jsfiddle.net/d4p0qLx2/4/