AngularJs指令控制器/前/后:为指令实例/子元素设置数据和操作/访问DOM之间的区别是什么

时间:2017-05-25 08:56:56

标签: angularjs angularjs-directive

我试图通过一些教程来理解angularjs指令的编译和链接阶段。

在编译阶段之后,创建指令实例。在链接阶段,函数的执行顺序是

" "

Controller Pre Post 函数中,我读了一个声明 “设置数据甚至子数据是安全的,但操作DOM实例并不安全”

再次在pre link函数 “安全操作DOM实例但不安全设置子项数据

现在我无法理解设置数据和操作DOM实例之间的区别以及为什么它不安全?

我理解的是DOM操作的操作基本上是在使用数据post link,无论是指令还是其子代。

我真的很困惑,任何人都可以帮助我理解两者之间的区别。如果有人用适当的例子解释,那将是一个很大的帮助。

由于

1 个答案:

答案 0 :(得分:0)

如果你想象几个指令,那就更清楚了:

<parent>
  <child child-value="v1"></child>
  <child child-value="v2"></child>
</parent>
  1. 如果要在父级中初始化v1和v2,则应在控制器/预链接中执行此操作。 (通常不使用) 但是你不应该操纵DOM - 因为它可能被子指令修改。

  2. 在帖子中 - 设置v1和v2没用 - 孩子已经被引入。但操纵DOM是安全的 - 因为它处于最终状态。