【发布时间】:2013-04-10 21:39:15
【问题描述】:
指令函数的执行顺序是什么? documentation 似乎没有解决这个问题。
前
- template / templateUrl(已评估)
- controllerFn
- compileFn
- linkFn
回答
来自下面的answer:http://plnkr.co/edit/79iyKSbfxgkzk2Pivuak(plunker 显示嵌套和同级指令)
- 模板已解析
-
compile()(在编译中对模板所做的更改会扩展到链接函数) controller()preLink()postLink()
【问题讨论】:
-
编译、控制器、链接。我不知道模板。另见github.com/angular/angular.js/wiki/Understanding-Directives
-
@MarkRajcok,谢谢!不过,我需要了解所有 4 个。
-
@jacob - 这是关于 compileFn、controllerFn、preLinkFn 和 postLinkFn 执行顺序的demonstration。你说的模板评估是指模板编译吗?
-
@tamakisquare,是的,我的意思是模板编译(当模板可用时)。
-
@jacob - 在最终渲染视图中可用吗?如果是这样,在完成 linkFn/postLinkFn 之前不会发生,因为 linkFn/postLinkFn 是 DOM 操作和转换发生的地方。
标签: javascript angularjs angularjs-directive