ng的link和comepile
angularJs应用启动之前,它们是以HTML文本形式存在文本编辑器当中。应用启动会进行编译和链接,作用域会同HTML元素进行绑定。
在编译的阶段,angularJs会遍历整个的文档并根据JavaScript中指令定义来处理页面上的指令。
如果设置了compile函数,说明我们希望在指令和实时数据被放到DOM中之前,进行DOM操作,在这个函数中进行诸如添加和删除节点等DOM操作是安全的。
当我们设置了link选项,实际上是创建了一个postLink() 链接函数,以便compile() 函数可以定义链接函数。
编译函数compile负责对模板DOM进行转换。
链接函数link负责将作用域和DOM进行链接。