【问题标题】:Angular Transclusion角度嵌入
【发布时间】:2016-03-07 19:41:06
【问题描述】:

看到这个plnkr

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

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

DirB
DirC 

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

好的,所以我使用了嵌入,并且 dirC 和 dirB 永远不会添加到 DOM 中。

我错过了什么?

【问题讨论】:

    标签: angularjs transclusion


    【解决方案1】:

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

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

    和 ng-view 一样,ng-transclude 是一个占位符,意思是:用指令正文中的内容替换这个元素的内容。

    【讨论】:

    • 太棒了!感谢您对 ng-transclude 的评论就像 ng-view...这更有意义。
    猜你喜欢
    • 1970-01-01
    • 2015-02-11
    • 2013-09-18
    • 2015-03-13
    • 1970-01-01
    • 2018-06-04
    • 2019-01-20
    • 2017-09-26
    • 1970-01-01
    相关资源
    最近更新 更多