我试图通过一些教程来理解angularjs指令的编译和链接阶段。
在编译阶段之后,创建指令实例。在链接阶段,函数的执行顺序是
" "
在Controller
Pre
Post
函数中,我读了一个声明 “设置数据甚至子数据是安全的,但操作DOM实例并不安全”
再次在pre link
函数 “安全操作DOM实例但不安全设置子项数据
现在我无法理解设置数据和操作DOM实例之间的区别以及为什么它不安全?
我理解的是DOM操作的操作基本上是在使用数据post link
,无论是指令还是其子代。
我真的很困惑,任何人都可以帮助我理解两者之间的区别。如果有人用适当的例子解释,那将是一个很大的帮助。
由于
答案 0 :(得分:0)
如果你想象几个指令,那就更清楚了:
<parent>
<child child-value="v1"></child>
<child child-value="v2"></child>
</parent>
如果要在父级中初始化v1和v2,则应在控制器/预链接中执行此操作。 (通常不使用) 但是你不应该操纵DOM - 因为它可能被子指令修改。
在帖子中 - 设置v1和v2没用 - 孩子已经被引入。但操纵DOM是安全的 - 因为它处于最终状态。