Angular的$ compile方法是否会扫描整个DOM?

时间:2014-03-05 19:17:41

标签: angularjs

有人可以告诉我。调用$ compile会导致angular遍历整个DOM吗?我在某处读到编译是一项昂贵的任务,因为它需要使用angular来遍历DOM寻找指令,所以多次调用它会减慢速度。但我无法找到我现在读到的地方。

我想知道如果我做了以下它只是编译标记或 它会强制角度来扫描整个DOM吗?

$compile(<div>{{name}}</div>)(scope);

1 个答案:

答案 0 :(得分:2)

调用$ compile服务仅评估传递给它的节点。您可以在源代码中看到这一点:https://github.com/angular/angular.js/blob/master/src/ng/compile.js#L810。它不需要评估整个DOM来编译传递给它的节点。