我有以下结构:
<dad-dir>
<kid-dir></bar-dir>
<kid-dir></bar-dir>
</dad-dir>
这里,dadDir
是父指令,kidDir
是子指令。在dadDir
中,transclude
设置为true。输出看起来像这样:
<div class='dad-dir'>
<span class='kid-dir'>Kid directive output</span>
<span class='kid-dir'>Kid directive output</span>
</div>
我遇到的问题是kidDir
正在dadDir
之前编译/链接。这是一个问题,因为我希望dadDir
设置我希望kidDir
继承的某些属性。我在console.log
和link
的{{1}}个函数中都有一个dadDir
行,kidDir
中的kidDir
之前的行记录dadDir
。
我尝试更改优先级,将dadDir
的优先级设置为10,将kidDir
设置为1,但它没有效果。
有什么想法吗?
答案 0 :(得分:1)
我相信这是我以前使用的angularjs版本1.0.5中的一个错误。我刚刚升级到1.2,神奇地require: '^dadDir
来自kidDir
。
答案 1 :(得分:0)
你是否试图转换为母元素?
fooDir指令中的:
transclude: true
replace: true
template: "<div ng-transclude></div>"
在孩子之后 barDir指令
require: '^fooDir'