什么是指令功能执行的顺序? 该文件似乎并没有解决这个问题。
防爆
- 模板/ templateUrl(评价)
- controllerFn
- compileFn
- linkFn
回答
从回答如下: http://plnkr.co/edit/79iyKSbfxgkzk2Pivuak (plunker显示嵌套和兄弟指令)
- 模板被解析
-
compile()
以编译内模板所做的更改的增殖下降到逻辑函数) -
controller()
-
preLink()
-
postLink()
什么是指令功能执行的顺序? 该文件似乎并没有解决这个问题。
防爆
从回答如下: http://plnkr.co/edit/79iyKSbfxgkzk2Pivuak (plunker显示嵌套和兄弟指令)
compile()
以编译内模板所做的更改的增殖下降到逻辑函数) controller()
preLink()
postLink()
预连接功能:子元素之前执行链接。 没有安全做DOM转型,因为编译器链接功能将无法找到正确的元素联系起来。
联邮功能:子元素之后执行的链接。 它是安全的DOM转型中的连接后功能。
以上摘录从官方文档取指令 。
因此,要回答你的问题, 邮政联/ Link功能是何时/何地,你可以放心地在element.children操作()。
在相关的注意,我在这里的整个DOM EXEC命令的理解。
这里是一个演示(打开的浏览器JS控制台)
由于使用此指令DOM foo
:
<div id="1" foo>
one
<div id="1_1" foo>one.one</div>
</div>
<div id="2" foo>two</div>
... AngularJS会遍历DOM - 两次 - 在深度优先顺序:
第一通foo.compile()
1)编译:1
2)编译:1_1
3)编译:2
第二通:foo.controller()向下遍历; foo.link(),而回溯
控制器:1
控制器:1_1
链接:1_1
链接:1
控制器:2
链接:2