AngularJS编译阶段应分为两个阶段

1,compile (绑定DOM)   
2,link(数据绑定)
   angularJS肯定是在DOM节点树生成后开始管理节点的,生成后寻找ng-app标记,然后其下属所有节点均由ng来管理。
 
  使用compile可以改变原始的dom,在ng创建原始dom实例以及创建scope实例之前. ng-repeat就是一个最好的例子,
 
  它就在是compile函数阶段改变原始的dom生成多个原始dom节点,然后每个又生成element实例.
 
  调用compile函数将得到一个编译好的template函数,他将会调用从所有指令中搜集而来的link函数
原文地址:https://www.cnblogs.com/loving0606/p/14087335.html