0

我有以下结构:

<dad-dir>
  <kid-dir></bar-dir>
  <kid-dir></bar-dir>
</dad-dir>

这里,dadDir是父指令,kidDir是子指令。在dadDirtransclude设置为真。输出看起来像这样:

<div class='dad-dir'>
  <span class='kid-dir'>Kid directive output</span>
  <span class='kid-dir'>Kid directive output</span>
</div>

我遇到的问题是,kidDirs 之前正在编译/链接dadDir。这是一个问题,因为我想设置我希望s 继承的dadDir某些属性。kidDir我在and的功能中都有console.log一行,并且在's之前记录了其中的功能。linkdadDirkidDirkidDirdadDir

我尝试过更改优先级,将dadDir' 的优先级设置为 10 和kidDir' 设置为 1,但没有任何效果。

有任何想法吗?

4

2 回答 2

1

我相信这是我之前使用的 angularjs 版本 1.0.5 中的一个错误。我刚刚升级到 1.2,神奇的是,require: '^dadDir'从kidDir作品中。

于 2013-08-26T21:13:22.587 回答
0

你有没有尝试嵌入到母亲元素中?

在 fooDir 指令中:

transclude: true
replace: true
template: "<div ng-transclude></div>"

之后在子 barDir 指令中

require: '^fooDir'
于 2013-08-26T14:13:14.600 回答