在Angular js指令中发布链接与预链接

Abr*_*m P 25 angularjs

如下所述:

http://docs.angularjs.org/guide/directive

Angular js指令采用两种不同类型的链接函数:

预链接功能在链接子元素之前执行.由于编译器链接功能无法找到正确的链接元素,因此进行DOM转换是不安全的.

链接后功能链接子元素后执行.在链接后功能中进行DOM转换是安全的.

此外,如果给定匿名函数,似乎默认键link将绑定到postLink.

我何时以及为什么要使用预链接功能?

小智 21

您想要使用预链接的唯一时间是您需要在编译任何子元素之前对范围执行一些准备工作.

我的团队在编写网格指令时使用它来定义范围上的网格对象,并设置在编译任何子行和单元对象之前所需的一些属性.

希望有所帮助!

  • 我不确定这是否准确.编译阶段在链接前/链接后阶段运行时结束. (6认同)
  • 如果您需要在任何孩子进行任何其他设置之前进行一些设置,则更准确的答案可能是您使用pre.帖子链接以相反的"顺序"运行.http://www.jvandemo.com/the-nitty-gritty-of-compile-and-link-functions-inside-angularjs-directives/ (3认同)