【问题标题】:post link vs pre link in Angular js directivesAngular js指令中的发布链接与预链接
【发布时间】:2013-08-20 06:29:29
【问题描述】:

如此处所述:

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

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

预链接功能 在链接子元素之前执行。进行 DOM 转换并不安全,因为编译器链接函数将无法找到正确的链接元素。

后链接功能 在子元素链接后执行。在post-linking函数中做DOM转换是安全的。

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

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

【问题讨论】:

标签: angularjs


【解决方案1】:

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

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

希望有帮助!

【讨论】:

  • 我不确定这是否准确。编译阶段在预链接/后链接阶段运行时结束。
  • 如果您需要在任何孩子进行任何其他设置之前进行一些设置,则更准确的答案可能是您使用 pre。帖子链接以相反的“顺序”运行。 jvandemo.com/…
  • 这不应该是公认的答案,@pixelbits 正确地指出子元素在任何父元素的预链接之前已经编译。
  • 请参考to this answer
猜你喜欢
  • 1970-01-01
  • 2015-12-01
  • 2016-02-26
  • 2015-01-05
  • 1970-01-01
  • 2015-08-04
  • 2016-06-21
  • 2013-11-10
相关资源
最近更新 更多