Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS:如何使使用转换的父指令在子指令之前编译?_Javascript_Angularjs - Fatal编程技术网

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'