Javascript 嵌套的Angle指令与'template'和'templateUrl的行为不同`

Javascript 嵌套的Angle指令与'template'和'templateUrl的行为不同`,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,我有一个“helper”指令,允许我轻松访问父指令中的子DOM元素。然而,当我将这个helper指令与另一个指令结合使用时,我遇到了一个问题。如果我在指令中使用模板,一切正常。但是,如果我使用templateUrl,我会得到一个错误,说明helper指令保存到作用域的元素未定义 有点难以解释,但这里有一个问题: 注意:我添加了一个5秒后触发的setTimeout,这允许templateUrl指令工作,因为它现在在父指令的范围内可用。这是预期的行为 后链接功能 链接子元素后执行 请注意,包含t

我有一个“helper”指令,允许我轻松访问父指令中的子DOM元素。然而,当我将这个helper指令与另一个指令结合使用时,我遇到了一个问题。如果我在指令中使用
模板
,一切正常。但是,如果我使用
templateUrl
,我会得到一个错误,说明helper指令保存到作用域的元素未定义

有点难以解释,但这里有一个问题:


注意:我添加了一个5秒后触发的setTimeout,这允许
templateUrl
指令工作,因为它现在在父指令的范围内可用。

这是预期的行为

后链接功能 链接子元素后执行

请注意,包含templateUrl指令的子元素将不会被编译和链接,因为它们正在等待异步加载其模板,并且它们自己的编译和链接已暂停,直到发生这种情况

在post linking函数中对不等待解析异步模板的元素执行DOM转换是安全的


这是预期的行为

后链接功能 链接子元素后执行

请注意,包含templateUrl指令的子元素将不会被编译和链接,因为它们正在等待异步加载其模板,并且它们自己的编译和链接已暂停,直到发生这种情况

在post linking函数中对不等待解析异步模板的元素执行DOM转换是安全的


无论您使用pre还是post这个概念,都保持不变。花点时间阅读我提到的链接。无论你使用pre还是post这个概念都是一样的。花点时间阅读我提到的链接。