I имеет следующую структуру:AngularJS: Как создать родительскую директиву с использованием перезаписи для компиляции перед дочерней директивой?
<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
s компилируются/связаны, прежде dadDir
. Это проблема, потому что я хочу, чтобы dadDir
устанавливал определенные атрибуты, которые я хочу, чтобы наследовать kidDir
. У меня есть строка console.log
в функциях link
как dadDir
, так и kidDir
, а те, что указаны в kidDir
, регистрируются до dadDir
.
Я попытался изменить приоритет, установив dadDir
's приоритет 10 и kidDir
- 1, но это не влияет.
Любые идеи?
'^ fooDir' - правильное понятие. как вы используете foodir, связывая функцию или просто заменяя некоторые вещи? – kangoroo
, потому что в определении директивы foo-dir вы должны определить контроллер, а затем использовать его в bar-dir, link: – kangoroo
@kangoroo У меня есть контроллер, определенный в родительской директиве –