2016-06-17 12 views
11

ng-contentが空の場合にifを作成する方法を理解しようとしています。ng-contentが空であるか空の場合Angular2

<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> 

私は内容が空の場合、表示データを表示するために1つを使用しようとしたが、情報が空の場合でも<span>タグをあなたの助けのために常に感謝

おかげで、表示されません。 。

答えて

11

childNodesの代わりにchildrenを使用してください。アンギュラは感謝メイト*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

+0

にコメント・ノードを作成し、あなたの答えは、私はngIfがノー@Cedラッパー自体 – rodboc

+0

そんなに良い作品'@ViewChild( 'contentWrapper')ラッパー:ElementRef;'と '* ngIf ="ラッパー?.nativeElement?.children?.length "' – Ced

+0

上にある場合には、この中には、動作しませんと仮定し –

関連する問題