2013-01-10 140 views
1

我在尋找一些幫助,嵌套AngularJS指令:嵌套指令元素不會編譯

http://jsfiddle.net/vankirkc/ezN3M/28/

舉例來說,我已經定義了一組自定義指令元素,包括容器和項目。我這樣安排他們:

<container> 
    <item /> 
    <item /> 
    <item /> 
</container> 

然後定義每一個。你可以從附加的jsFiddle中看到,編譯函數沒有被調用嵌套的項目,但是當item元素被移出容器時,它們是(表示編譯函數本身沒有任何問題。)

爲什麼不嵌套指令觸發事件編譯

這是鬆散的基礎上從角主頁這個例子:

http://jsfiddle.net/vankirkc/HpHeW/

我不能工作了他們的孩子,爲什麼正確解析並且不是。

回答

1

當您使用transclusion時,您必須將ng-transclude指令添加到您的模板元素之一。如果您將group指令的模板更改爲:

template: '<div ng-transclude></div>', 

一切都會生效。

PS:你的指令聲明語法對你正在做的事情過於冗長,但它在技術上是正確的。

+0

謝謝喬希,那工作的一種享受。至於指令定義的詳細程度,我對AngularJS來說是相當新的,所以我將包含所有內容,直到我掌握了可用的內容以及它的含義。 –