[英]AngularJS: How to make parent directive using transclusion be compiled before the child directive?
我有以下結構:
<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
兩者的功能dadDir
和kidDir
並在那些kidDir
之前登錄dadDir
的。
我試圖改變優先級,設置dadDir
的優先級為10, kidDir
的1,但它沒有任何效果。
有任何想法嗎?
我相信這是我先前使用的angularjs 1.0.5版中的錯誤。 我剛剛升級到1.2,魔術般地require: '^dadDir
kidDir
工作中的require: '^dadDir
'。
您是否嘗試過包含母元素?
在fooDir指令中:
transclude: true
replace: true
template: "<div ng-transclude></div>"
然后在子欄目中
require: '^fooDir'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.