我有一个'helper'指令,允许我轻松访问父指令中的子DOM元素。但是,当我将这个helper指令与另一个指令结合使用时,我遇到了一个问题。如果我在指令中使用template
,一切正常。但是,如果我使用templateUrl
我得到一个错误,说明辅助指令保存到范围的元素是未定义的。
有点难以解释,但这里是傻瓜: http://plnkr.co/edit/NHKBGfro7Xe3dSalq5bt?p=preview
注意:我添加了一个在5秒后触发的setTimeout,这允许templateUrl
指令起作用,因为它现在可以在父指令的范围内使用。
答案 0 :(得分:4)
这是预期的行为。
后连接功能 链接子元素后执行。
请注意,包含templateUrl指令的子元素将不会被编译和链接,因为它们正在等待其模板异步加载,并且它们自己的编译和链接已暂停,直到发生这种情况。
在不等待解析异步模板的元素的后连接函数中进行DOM转换是安全的。