请参阅此plnkr
https://plnkr.co/edit/theggRtJlbFj1H4zVUKU?p=preview
使用$ compile服务,我需要将dirC嵌套在dirB中。 输出应为
DirB
DirC
我认为这是错误,因为dirC指令和控制器从未被解雇,所以Angular组织说要使用翻译。
好的,所以我使用transclusion和dirC,dirB永远不会添加到DOM。
我错过了什么?
答案 0 :(得分:1)
指令C包含在指令B中。但两个模板中唯一可见的文本位于具有指令ng-transclude
的div内。因此,文本内容被替换为HTML:在<dir-b>
的情况下指令C,在<dir-c>
的情况下没有任何内容。
以下是使用固定模板的示例,向您展示它可以正常工作:https://plnkr.co/edit/FRtMA3h0Caredc4staW8?p=preview
与ng-view类似,ng-transclude是一个占位符,表示:用指令体内的元素替换该元素的内容。