【发布时间】:2016-12-06 04:21:41
【问题描述】:
假设我有一个带有多个嵌入槽的简单引导面板组件。模板示例:
<div class="panel panel-default">
<div class="panel-heading">
<ng-content select="my-panel-heading"></ng-content>
</div>
<div class="panel-body">
<ng-content select="my-panel-content"></ng-content>
</div>
</div>
我想将面板标题设为可选。如果没有为<ng-content select="my-panel-heading"></ng-content> 提供内容,我如何隐藏<div class="panel-heading"> 元素
【问题讨论】:
-
ngIf应优先于[hidden]。你喜欢hidden有什么原因吗? -
@GünterZöchbauer 如果变量 showHeading 初始化为 false,则元素会在调用 ngAfterContentInit 时从模板中删除,从而未定义对 viewChild 的引用。如果首选 ngIf,您可以将 showHeading 的默认值更改为 true,它应该可以工作。
-
实际上,我只是对其进行了测试,即使将默认值更改为 true,它也无法与 *ngIf 一起使用。对#panelHeading 的引用仍未定义,因为 *ngIf 已将其删除。
-
没想到。很好的收获。
标签: angular transclusion