如果ng-content具有内容或空Angular2

时间:2016-06-17 06:17:47

标签: angular angular2-template

我正在尝试了解如何在ng-content为空时创建if来显示。

<div #contentWrapper [hidden]="isOpen">
    <ng-content ></ng-content>
</div>

<span *ngIf="contentWrapper.childNodes.length == 0">
    <p>Display this if ng-content is empty!</p>
</span>

当内容为空时,我尝试使用那个显示数据,但即使信息为空,也不会显示<span>标记

谢谢,永远感激你的帮助。

1 个答案:

答案 0 :(得分:11)

使用children代替childNodes。 Angular为*ngIf* which are counted by childNodes`

创建注释节点
<div #contentWrapper [hidden]="isOpen">
    <ng-content ></ng-content>
</div>

<span *ngIf="contentWrapper.children.length == 0">
    <p>Display this if ng-content is empty!</p>
</span>  

Plunker example