Angular 包含

Angular Transclusion

看到这个plnkr

https://plnkr.co/edit/theggRtJlbFj1H4zVUKU?p=preview

使用 $compile 服务,我需要将 dirC 嵌套在 dirB 中。 输出应该是

DirB
DirC 

我认为这是一个错误,因为 dirC 指令和控制器从未被触发,所以 Angular 小组说要使用嵌入。

好的,所以我使用了嵌入并且 dirC 和 dirB 从未添加到 DOM。

我错过了什么?

指令 C 包含在指令 B 中。但是两个模板中唯一可见的文本位于具有指令 ng-transclude 的 div 中。因此,文本内容被嵌入的 HTML 替换:在 <dir-b> 的情况下指令 C,在 <dir-c> 的情况下什么都没有。

这是您使用固定模板的示例,向您展示它工作正常:https://plnkr.co/edit/FRtMA3h0Caredc4staW8?p=preview

与 ng-view 一样,ng-transclude 是一个占位符,意思是:将此元素的内容替换为指令主体内的内容。