我对angularjs很新。我对指令中的链接和编译用法有点混淆。谁能告诉我在哪些场景中我们必须使用链接和编译。
答案 0 :(得分:2)
编译阶段
当加载DOM时,Angular启动编译阶段,,它从上到下遍历标记,并在所有指令上调用compile。从图形上看,我们可以这样表达:
说明儿童编译循环的图像
值得注意的是,在这个阶段,编译函数获取的模板是源模板(而不是实例模板)。
链接阶段
DOM实例通常只是源模板呈现给DOM的结果,但它们可以通过ng-repeat创建,也可以动态引入。
每当带有指令的元素的新实例呈现给DOM时,链接阶段就会开始。
在这个阶段,Angular调用控制器,预链接,迭代子节点,并在所有指令上调用post-link,如下所示:
下面的链接将为您提供编译与链接的清晰概念。
Angular directives - when and how to use compile, controller, pre-link and post-link
http://odetocode.com/blogs/scott/archive/2014/05/28/compile-pre-and-post-linking-in-angularjs.aspx
答案 1 :(得分:0)
What is the difference between compile and link function in angularjs
已经回答堆栈溢出并有一个很好的解释