Javascript AngularJS:如何使使用转换的父指令在子指令之前编译?
我的结构如下:Javascript AngularJS:如何使使用转换的父指令在子指令之前编译?,javascript,angularjs,Javascript,Angularjs,我的结构如下: <dad-dir> <kid-dir></bar-dir> <kid-dir></bar-dir> </dad-dir> 我遇到的问题是,kidDirs正在dadDir之前编译/链接。这是一个问题,因为我希望dadDir设置我希望kidDirs继承的某些属性。我在dadDir和kidDir的链接中有一个console.log行,并且kidDir中的那些记录在dadDir之前 我尝试更改优先级,将da
<dad-dir>
<kid-dir></bar-dir>
<kid-dir></bar-dir>
</dad-dir>
我遇到的问题是,kidDir
s正在dadDir
之前编译/链接。这是一个问题,因为我希望dadDir
设置我希望kidDir
s继承的某些属性。我在dadDir
和kidDir
的链接中有一个console.log
行,并且kidDir
中的那些记录在dadDir
之前
我尝试更改优先级,将dadDir
的优先级设置为10,将kidDir
的优先级设置为1,但没有效果
有什么想法吗?你有没有尝试在母元素中排除
在fooDir指令中:
transclude: true
replace: true
template: "<div ng-transclude></div>"
我相信这是我以前使用的angularjs 1.0.5版中的一个bug。我刚升级到1.2,神奇的是,require:“^dadDir
”从kidDir
开始工作。这正是我正在做的,但是子barDir中的require
给了我一个错误:没有控制器fooDir
“^fooDir”是正确的概念。你是如何使用foodir、链接函数还是仅仅替换一些东西?因为在foodir指令定义中,你必须定义控制器,然后在bar dir中使用它,link:@kangoroo我有一个在parent directive中定义的控制器你的控制器呢?为什么会出现控制器错误?请检查附在主体上的控制器函数名或其他名称
transclude: true
replace: true
template: "<div ng-transclude></div>"
require: '^fooDir'